如何在插入模式下禁用箭头键?
我在我的.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>
。
上一篇: How do I disable the arrow keys in insert mode?
下一篇: Update columns in a table and return whole table object