特定のファイル拡張子に対して_:autocmd
_を使用して機能を設定する方法を知っています。
例えば。 〜/ .vim/ftplugin/xml.vim
_augroup xml
au BufEnter *.xml call Setup_XML_Menu()
au BufLeave *.xml call Destroy_XML_Menu()
augroup END
_
WhatSetup_XML_Menu()
doesを気にしないでください。重要なのは、XMLバッファーに出入りするときに、構成を設定およびリセットしているということです。
しかし、代わりに特定のfiletypeに自動コマンドを適用する方法はありますか?
* .xmlという名前のバッファーを入力すると、BufEnterautocmdが期待どおりに起動します。
しかし、_filetype=xml
_を持つanyバッファに入ると、これが発生するようにしたいと思います。
したがって、server.wsdlという名前のバッファーを入力した場合(このバッファーのファイルタイプがxmlになるように既に調整していると仮定します)、次の自動コマンドを構成せずに、XMLautocmdもそこに適用したいと思います。考えられるすべてのXMLファイル拡張子。
私は私が次のようなものを持つことができることを望みました:
_au BufEnter xml call ...
_
または
_au BufEnter filetype xml call ...
_
ただし、これらは機能しません(最初の例は、「xml」という名前のバッファーにのみ適用されます)。
私が検討した他の可能性:_au FileType xml ...
_は、バッファーのファイルタイプを明示的に変更した場合にのみ適用されます-特定のバッファーウィンドウに出入りするときに設定を適用および削除したいです。
質問しすぎですか?
au BufEnter * if &ft ==# 'xml' | commands | endif
のようなことをすることができます