首页 > 解决方案 > 为评论者进行插入重新映射

问题描述

当我处于插入模式以插入评论时,我正在尝试重新映射,但很难弄清楚所有键映射到什么。我想做的是:

:inoremap leadercspace==>escleadercspacei

基本上,如果我处于插入模式,我想退出插入模式以插入注释(leader+c+space),然后返回插入模式。

正确的:inoremap映射是什么?我现在拥有的是:

:inoremap <leader>c<space> <Esc><Leader>c<space>i

但这似乎不起作用(至少它的后半部分 - 它似乎正在执行映射命令)。注意:我要重新映射的插件是:

https://github.com/preservim/nerdcommenter

[count]<leader>c<space> |NERDCommenterToggle|

切换选定行的注释状态。如果最上面的选定行被注释,则所有选定的行都被取消注释,反之亦然。

标签: vim

解决方案


从 vim 文档 ( :help nore):

禁止 {rhs} 的映射,以避免嵌套和递归映射

换句话说,该nore部分禁止将映射应用于rhs(右侧)。

因此,在您的情况下,<Esc><Leader>c<space>i不会因此触发 VimCommenter 映射。

要允许递归,您可以取消nore

:imap <leader>c<space> <Esc><Leader>c<space>i

推荐阅读