V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
diligence24
V2EX  ›  Linux

vim 在 进入编辑模式后,如果输入错误就不能在当前模式下面修改了? 而是一定要进入nomal模式下删除? 这样也太不人性化了吧!

  •  
  •   diligence24 · 2013-10-10 20:39:31 +08:00 · 6794 次点击
    这是一个创建于 4041 天前的主题,其中的信息可能已经有所发展或是发生改变。
    31 条回复    1970-01-01 08:00:00 +08:00
    ruoxin123
        1
    ruoxin123  
       2013-10-10 20:42:18 +08:00
    按退格键就可以了吧
    ruoxin123
        2
    ruoxin123  
       2013-10-10 20:43:02 +08:00
    你是用ssh连接的远程编辑吗?试试ctrl+h
    undeadking
        3
    undeadking  
       2013-10-10 20:43:40 +08:00
    这只能说明你压根不会用.运行vimtutor过一遍教程再说吧
    sophy
        4
    sophy  
       2013-10-10 20:49:01 +08:00
    可以。
    diligence24
        5
    diligence24  
    OP
       2013-10-10 20:58:58 +08:00
    @undeadking 过了2遍了,但是vimtutor是在sh下编辑的,vim下编辑情况不同阿
    diligence24
        6
    diligence24  
    OP
       2013-10-10 21:00:18 +08:00
    @sophy 简单说一下,我试了几次都不行,甚至连光标都没有办法上下左右移动
    angelface
        7
    angelface  
       2013-10-10 21:01:36 +08:00   ❤️ 1
    什么叫不能在当前模式下修改?你指的是要想移动就得<ESC>返回到normal模式吧。

    一般我都是绑定:
    inoremap <silent><C-H> <Left>
    inoremap <silent><C-L> <Right>
    inoremap <silent><C-J> <Down>
    inoremap <silent><C-K> <Up>

    这样在编辑模式也可以移动。
    undeadking
        8
    undeadking  
       2013-10-10 21:03:38 +08:00
    你该不会是在windows下用带窗口的gvim吧.vim这种东西一般是在纯命令行环境下用的,不明白你的情况有什么不同
    lzt163
        9
    lzt163  
       2013-10-10 21:05:46 +08:00
    = = 我想是这样的吧 你那个只是vi 不是vim 默认只有vi vi是不能用上下左右的 你要去撞vim
    diligence24
        10
    diligence24  
    OP
       2013-10-10 21:09:21 +08:00
    @angelface 就是说不绑定,在编辑模式下是不能移动,修改,删除的吗?
    diligence24
        11
    diligence24  
    OP
       2013-10-10 21:10:14 +08:00
    @lzt163 确定是vim,你们都没有这种情况嘛?
    diligence24
        12
    diligence24  
    OP
       2013-10-10 21:10:59 +08:00
    @undeadking 难道你是个insert模式下,可以移动,并且删除某个字符的嘛?
    diligence24
        13
    diligence24  
    OP
       2013-10-10 21:11:18 +08:00
    @undeadking 当然我是在linux系统下的
    lzt163
        14
    lzt163  
       2013-10-10 21:13:15 +08:00
    @diligence24 没有啊。。。一直都可以的
    undeadking
        15
    undeadking  
       2013-10-10 21:13:51 +08:00
    @diligence24 用键盘原有的方向键就能移动,用退格键就能删除,和windows记事本一样,效率不高而已.

    你要是有试过ssh到一台高延迟的服务器上编辑文件,就会知道vim的命令模式有多好用了,卡得要死的时候你是不知道长按方向键后光标会停留在哪的
    clippit
        16
    clippit  
       2013-10-10 21:15:14 +08:00
    试试
    set backspace=indent,eol,start
    ijse
        17
    ijse  
       2013-10-10 21:16:18 +08:00
    试下在vi配置文件 ~/.vimrc 中添加 `set nocompatible` 一行试下,

    有的linux下默认版本vi , 在insert模式下按backspace后,字符不会消失,但是返回normal模式后会。。 不知道lz是不是指这个问题?
    ijse
        18
    ijse  
       2013-10-10 21:18:23 +08:00
    还有个配置,`set bs=2`, 跟 @clippit 的一样。。
    angelface
        19
    angelface  
       2013-10-10 21:19:10 +08:00
    @diligence24 这明显是扯,提供绑定功能就是扩展默认没有的功能。
    RisingV
        20
    RisingV  
       2013-10-10 21:23:41 +08:00
    那是vi,不是vim
    diligence24
        21
    diligence24  
    OP
       2013-10-10 21:25:51 +08:00
    @undeadking 要死,我这里在insert模式下按方向键是ABCD,什么情况
    luikore
        22
    luikore  
       2013-10-10 22:07:32 +08:00
    如果插入模式下退格键不能用, 是终端的原因, 设置成 xterm 应该就可以了
    pright
        23
    pright  
       2013-10-10 22:37:42 +08:00
    都不看帮助吗
    :h i_bs

    i_CTRL-H i_<BS> i_BS
    <BS> 或 CTRL-H 删除光标前的字符 (关于连接行,见 i_backspacing)。
    如果你的 <BS> 键不正确,见 :fixdel。{Vi: 不删除自动的缩进}
    shanks
        24
    shanks  
       2013-10-11 08:40:51 +08:00
    up主应该是在ssh下使用vim的,旧版本的vim设置backspace效果是不可见的,所以你以为没有效果,其实是删除了。(我以前也踩过这坑
    SkyTodInfi
        25
    SkyTodInfi  
       2013-10-11 09:34:42 +08:00
    楼上都没说到点子上,这个坑我读书的时候遇见过.楼主的系统内应该是自带了vi,楼主自己又装了一个vi,导致冲突什么都不能用,键位全是错乱的.解决方法就是删除掉系统自带的vi即可.@diligence24
    m1a0
        26
    m1a0  
       2013-10-11 10:53:55 +08:00
    楼主用的估计是自带的vi
    diligence24
        27
    diligence24  
    OP
       2013-10-11 13:35:38 +08:00
    @shanks 是的,只是不可见,当退回normal模式时都已经删除了
    diligence24
        28
    diligence24  
    OP
       2013-10-11 13:36:08 +08:00
    @SkyTodInfi 我用的是vim,这点不会错的。
    BOYPT
        29
    BOYPT  
       2013-10-11 14:01:10 +08:00
    换一个正常的term。

    vi就是让人类在类似处于那样奇葩的终端上,都能勉强编辑文件作用的,楼主是把极端条件当成日常条件了。
    jayklx
        30
    jayklx  
       2013-10-12 13:46:01 +08:00
    backspace
    ctrl+w
    farseerfc
        31
    farseerfc  
       2013-10-15 04:44:52 +08:00
    @diligence24 echo $TERM 讓大家看看你是什麼term。以及最好說明ssh啦tmux之類有沒有用過。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1100 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:31 · PVG 03:31 · LAX 12:31 · JFK 15:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.