在VIM插入模式下,您将哪些键映射到<left>,<down>,<up>,<right>命令?

dim*_*mus 7 vim

在Vim中,在正常模式下使用hjkl很不错,并且可以继续在插入模式下使用它们.我试图将它们映射到Ctrl-h,Ctrl-j,Ctrl-k,Ctrl-l:

 imap <C-h> <left>
 imap <C-j> <down>
 imap <C-k> <up>
 imap <C-l> <right>
Run Code Online (Sandbox Code Playgroud)

但它不方便,特别是因为它掩盖了Ctrl-H和退格停止响应.你有没有能够以某种方式使用HJKL键进行插入模式的移动?

mb1*_*b14 5

我在插入模式下使用双大写映射进行各种映射.这很有效,除非你从某个地方粘贴文本.在插入文本之前清除所有插入映射通常更明智.

所以你可以试试

imap HH <left>
imap JJ <down>
Run Code Online (Sandbox Code Playgroud)

等等...

显然,你需要两次击键作为正常移动,所以我想如果你需要"远离"导航,最好回到导航模式.

  • 您也可以输入`:set paste!`来打开和关闭粘贴模式.粘贴模式禁用imaps,自动注释等,以便您可以方便地粘贴任何内容.您可以创建一个像`map,p:set paste!<cr>`这样的宏来使这更容易.然后`,p`将打开粘贴模式(即使你处于插入模式),你只需要从正常模式再次点击`,p`将其关闭. (2认同)