0

":help"、":NERDTree"、":TlistOpen" などのウィンドウに出入りするための autocmd を無効にするにはどうすればよいですか?

現在、これらのコマンドを呼び出す前と後に「eventignore」を変更しています (「:help」以外は、まだ方法がわかりません) が、「CTRL」で移動しながらそれを行う方法がわかりません。 -w」、その結果、これらのウィンドウに出入りするたびにautocmdが起動されます.

これらのウィンドウに共通しているのは、読み取り専用であるか、実行できる操作が制限されていることです。その情報を取得できれば、自動コマンドの周りに if ステートメントを入れることができるでしょう。

4

1 に答える 1

0

最初に、いくつかのバッファーローカル変数を設定します。

augroup MyAutocommands
au!
au BufNewFile,BufRead * let b:my_autocommands = DoMyAutocommands()
" other autocommands
augroup END

関数を作成しDoMyAutocommandsます。まず、

function! DoMyAutocommands()
  if @buftype == 'help'
    return 1
  endif
  " other conditions ...
  return 0
endfun

次に、各自動コマンド、またはそれらが呼び出す関数がチェックできexists('b:my_autocommands') && b:my_autocommandsます。

于 2014-01-26T14:41:21.630 に答える