Looking for vim Answers? Try Ask4KnowledgeBase
Looking for vim Keywords? Try Ask4Keywords

vimオートコマンド


備考

サラウンドautocmdコマンド

autocmdは相加的なコマンドなので、デフォルトではこの動作を望まないでしょう。

たとえば、編集中に.vimrcを数回再作成すると、vimが遅くなることがあります。

ここに証拠があります:

:autocmd BufWritePost * if &diff | diffupdate | endif " update diff after save
:autocmd BufWritePost * if &diff | diffupdate | endif " update diff after save

:autocmd BufWritePost *と入力すると、出力には両方の行が表示されます。どちらも実行されます。

この現象を回避するには、次のようにすべてのautocmd囲みます。

if has ('autocmd')       " Remain compatible with vi which doesn't have autocmd
  augroup MyDiffUpdate   " A unique name for the group.  DO NOT use the same name twice!
      autocmd!           " Clears the old autocommands for this group name
      autocmd BufWritePost * if &diff | diffupdate | endif   " Update diff after save
      " ... etc ...
  augroup END
endif

オートコマンド 関連する例