使用NERDComment插件和重新映射Leader的自定义键?

时间:2010-04-13 03:57:37

标签: vim vi

我正在尝试在vim中设置NERDComment插件,但我在使用密钥方面遇到了一些麻烦。我想设置基本切换功能(如果未注释则注释一行,如果注释则注释掉)将为c。问题是我已经将领导者重新映射为,,这与NERD想要的所有热键相同。任何人都知道如何设置它?

4 个答案:

答案 0 :(得分:9)

只需在映射中调用NERDComment函数即可。例如,我的映射来评论当前行:

inoremap ,c <C-o>:call NERDComment(0,"toggle")<C-m>

这是vim重映射如何工作的细分。

inoremap中的i表示重映射仅适用于插入模式。

noremap表示无法在.vimrc文件中意外或通过插件覆盖重映射。

,c是触发键映射的组合键。

<C-o>暂时使您退出一个命令的插入模式,因此重映射的下一部分可以调用NERDComment函数。

:call NERDComment(0,"toggle")是被调用的NERDComment函数。

然后<C-m>是说回车的另一种方式,它执行命令。

答案 1 :(得分:6)

如果您希望注释快捷方式在正常模式和可视模式下工作,但在插入模式下,当您尝试键入逗号时可能会执行某些奇怪操作,则可以使用以下重映射:

nnoremap ,c :call NERDComment(0,"toggle")<CR>
vnoremap ,c :call NERDComment(0,"toggle")<CR>

答案 2 :(得分:1)

记录的重新映射密钥的方法位于: remapping documentation

reference

startAllExecutorTasks

我陷入尝试使用“ nnoremap”重新映射的pitfall中,这导致了无响应的映射。您必须使用“ map”,“ nmap”等正确地重新映射功能

答案 3 :(得分:0)

:map <C-z> <plug>NERDCommenterToggle

将“切换注释”映射到ctrl + z