2

特定のファイル タイプに対して別のコメント スタイルを使用するように、vim で NERDCommenter を構成したいと考えています。これを行う正しい方法は何ですか。からプラグイン コードを呼び出す方法がわかりませんautocmd。私がやろうとしていることは、次のようなものです。

autocmd FileType dosbatch :call NERDCommenterAltDelims

上記は機能しませんが、次のコマンドで関数名を取得できることがわかりました。

map <Plug>NERDCommenterAltDelims

それは次を返します:

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

map コマンドを使用してマップの値を実行する方法はありますか?

4

4 に答える 4

1

script-local関数しかないため、以下<Plug>を介して提供されたマッピングを呼び出す必要があり:normalます。

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

Now using ... to delimit commentsメッセージを抑制するには、silent execute代わりにを使用してください。

于 2012-09-22T08:12:59.113 に答える
1

dosbatchまたは、 NERDCommenter がこの拡張ポイントを提供しているため、ファイルタイプのデフォルト定義と代替定義を切り替えてみませんか。以下を~/.vimrc;に入れます。の前 に実行する必要がありますplugin/NERDCommenter.vim

let g:NERDCustomDelimiters = {'dosbatch': { 'left': '::', 'leftAlt': 'REM ' }}
于 2012-09-22T08:24:26.887 に答える
0

独自のマッピングで NERDCommenter の機能を使用する新しいより良い方法があるようです。

call NERDComment('n', 'altDelims')

見る:

:h NERDComNERDComment
于 2014-01-23T08:29:45.193 に答える
0

@ingo-karkatの回答から構築:

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

私のvimscriptスキルは存在しないので、これを行うためのよりクリーンな方法があるかもしれません. 自由に改善してください。

于 2012-09-24T20:11:05.443 に答える