vim 在 进入编辑模式后,如果输入错误就不能在当前模式下面修改了? 而是一定要进入nomal模式下删除? 这样也太不人性化了吧! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
diligence24
V2EX    Linux

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

  •  
  • diligence24 2013-10-10 20:39:31 +08:00 7340 次点击
  • 这是一个创建于 4395 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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过一遍教程再说吧
    0racleTink
        4
    0racleTink  
       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     Solana     3216 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 10:47 PVG 18:47 LAX 03:47 JFK 06:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86