V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
endice
V2EX  ›  Vim

关于 vim 的 imap 和 backspace 问题,遇到两次了。

  •  
  •   endice · 2016-06-05 20:30:23 +08:00 · 3335 次点击
    这是一个创建于 3094 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在配置文件里配置了一些 imap ,比如:

    	imap <c-k> <Up>  
    

    但是插入模式的 backspace 不能删除了(设置了可用), 注释掉 imap 映射就可以删除了,这是什么原因呢?

    以前碰到过一次,那个 vim 版本有点老,可是这个 vim 是 7.4 版本,所以应该不是版本的问题吧><

    第 1 条附言  ·  2016-06-05 21:43:06 +08:00
    问题已另一种方法解决了。
    问题定位在:
    ```
    imap <c-h> <Left>
    imap <c-l> <Right>
    ```
    这两行配置上,改成:
    ```
    imap <s-h> <Left>
    imap <s-l> <Right>
    ```
    不用 ctrl 键就好了,虽然并不知道是什么原因~~
    7 条回复    2016-06-07 13:38:29 +08:00
    chenai
        1
    chenai  
       2016-06-05 21:23:38 +08:00 via Android
    你把所有配置都贴到 pastebin 里看看
    whatot
        2
    whatot  
       2016-06-05 21:28:40 +08:00
    你可以看一下 imap 与 inoremap 的区别,可能是这个原因
    kindjeff
        3
    kindjeff  
       2016-06-05 21:50:49 +08:00
    不是 TTY 的问题么?我的同一个 vim 配置,在虚拟机和 SSH 到远程写东西的时候都是正常的,在 cygwin 下面就经常 backspace 失效。
    xqin
        4
    xqin  
       2016-06-05 22:34:18 +08:00
    我只想问楼主, 你改成 Shift+h/l 之后, 你想输入大写的 h/l 的时候,是先开 CapsLock? 再输入 h/l ?
    ynyounuo
        5
    ynyounuo  
       2016-06-06 04:58:53 +08:00
    在 Terminal 下 ⌫ 默认是「\033[3~」

    也就是 C-h ,不要乱设置 imap 啊少年 - -
    ynyounuo
        6
    ynyounuo  
       2016-06-06 05:21:31 +08:00
    - - 误
    上一条说的不怎么对

    总之就是 C-h = Backspace = 0x08 在一些 mapping 里面是成立的,所以大概问题就是出在了 C-h 上。
    ashfinal
        7
    ashfinal  
       2016-06-07 13:38:29 +08:00
    " Configure backspace so it acts as it should act
    set backspace=eol,start,indent
    " Ctrl-[hl]: Move left/right by word
    inoremap <C-h> <C-o>b
    inoremap <C-l> <C-o>w

    我相关这么设置的,没有问题。
    https://github.com/ashfinal/vimrc-config
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1280 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:32 · PVG 01:32 · LAX 09:32 · JFK 12:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.