vim在末尾重新映射了一行换行符



我正试图在我的vimrc中重新映射一个片段,然后在插入模式下转到下一行:

:nnoremap <leader>b oimport pdb;pdb.set_trace()<esc> o

片段import pdb;pdb.set_trace()被插入到我当前的缓冲区中,但vim中的光标仍在同一行上。插入代码段后,有没有办法将光标移到下一行?

对我来说,您的映射是有效的,除了在缓冲区的末尾(当您报告时,它会发出嘟嘟声,并将光标保持在插入行的末尾)。

原因是<esc>o之间的空间。:help <Space>是一个运动(向右,就像l一样),如果光标不能移动到那里(在缓冲区的末尾,根据'whichwrap'选项,也可能移动到其他地方),Vim会发出蜂鸣声并中止映射;即,之后的所有密钥都被忽略。

修复方法很简单:去掉多余的空白,映射就可以在任何地方工作!

nnoremap <leader>b oimport pdb;pdb.set_trace()<esc>o

这个怎么样:

nnoremap <leader>b oimport pdb;<CR>pdb.set_trace()<CR>

相关内容

  • 没有找到相关文章

最新更新