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

2016-06-05 20:30:23 +08:00
 endice

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

	imap <c-k> <Up>  

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

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

3197 次点击
所在节点    Vim
7 条回复
chenai
2016-06-05 21:23:38 +08:00
你把所有配置都贴到 pastebin 里看看
whatot
2016-06-05 21:28:40 +08:00
你可以看一下 imap 与 inoremap 的区别,可能是这个原因
kindjeff
2016-06-05 21:50:49 +08:00
不是 TTY 的问题么?我的同一个 vim 配置,在虚拟机和 SSH 到远程写东西的时候都是正常的,在 cygwin 下面就经常 backspace 失效。
xqin
2016-06-05 22:34:18 +08:00
我只想问楼主, 你改成 Shift+h/l 之后, 你想输入大写的 h/l 的时候,是先开 CapsLock? 再输入 h/l ?
ynyounuo
2016-06-06 04:58:53 +08:00
在 Terminal 下 ⌫ 默认是「\033[3~」

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

总之就是 C-h = Backspace = 0x08 在一些 mapping 里面是成立的,所以大概问题就是出在了 C-h 上。
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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/283692

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX