如何在插入模式下禁用箭头键?

我在我的.vimrc文件中有以下几行,我认为这足够:

nnoremap <left> <nop>
nnoremap <right> <nop>
nnoremap <up> <nop>
nnoremap <down> <nop>

inoremap <left> <nop>
inoremap <right> <nop>
inoremap <up> <nop>
inoremap <down> <nop>

在正常模式下,箭头键不会执行任何操作(如预期的那样),但在插入模式下继续运行。 我也尝试过imap ,那也不管用。 使用inoremap <left>查询映射inoremap <left>确认绑定不会被别的东西覆盖。 我不确定发生了什么事。

作为最后一个测试,我用vim -u NONE启动了没有vimrc的vim -u NONE ,然后只运行映射。 如果我现在进入插入模式并按箭头键,它会在我的光标所在的新行插入字母A,B,C或D,这完全不是我所期望的。


基于此页面,您可以使用以下映射来完成此操作。

 noremap  <Up> ""
 noremap! <Up> <Esc>
 noremap  <Down> ""
 noremap! <Down> <Esc>
 noremap  <Left> ""
 noremap! <Left> <Esc>
 noremap  <Right> ""
 noremap! <Right> <Esc>

我测试了他们,他们工作,但我目前不明白为什么这个魔法的作品。

特别是,我不确定为什么有必要映射两次,但它应该有效解决您的问题。


ABCD的插入响了一个钟。 您似乎遇到了在插入模式下修复折断箭头键导航中的问题,并修复了在远程外壳上显示ABCD的箭头键,并且可能实施了一种解决方法。

干扰:imap<Nop>

链接地址: http://www.djcxy.com/p/78865.html

上一篇: How do I disable the arrow keys in insert mode?

下一篇: Update columns in a table and return whole table object