根据文件类型将NERDCommenter切换到备用值

时间:2012-09-22 00:43:13

标签: vim autocmd

我想在vim中配置NERDCommenter,以便为某些文件类型使用备用注释样式。这样做的正确方法是什么。我无法弄清楚如何从autocmd调用插件代码。我想做的是这样的事情:

autocmd FileType dosbatch :call NERDCommenterAltDelims

以上操作无效,但我发现我可以使用以下命令获取函数名称:

map <Plug>NERDCommenterAltDelims

返回:

:call <SNR>17_SwitchToAlternativeDelimiters(1)<CR>

有没有办法使用map命令执行地图的值?

4 个答案:

答案 0 :(得分:1)

由于只有脚本本地函数,您必须通过<Plug>调用提供的:normal映射:

:autocmd FileType dosbatch execute "normal \<Plug>NERDCommenterAltDelims"

要取消Now using ... to delimit comments消息,请改用silent execute

答案 1 :(得分:1)

或者,为什么不切换dosbatch文件类型的默认和alt定义,因为NERDCommenter提供此扩展点。将以下内容放入~/.vimrc;它必须在 plugin/NERDCommenter.vim之前执行

let g:NERDCustomDelimiters = {'dosbatch': { 'left': '::', 'leftAlt': 'REM ' }}

答案 2 :(得分:0)

建立@ ingo-karkat回答:

autocmd FileType dosbatch autocmd VimEnter * execute "normal \<Plug>NERDCommenterAltDelims"

我的vimscript技能不存在,因此可能有更简洁的方法来做到这一点。随意改进它。

答案 3 :(得分:0)

现在似乎有一种新的更好的方法可以在我们自己的映射中使用NERDCommenter的功能:

call NERDComment('n', 'altDelims')

请参阅:

:h NERDComNERDComment