.vimおよび.vimrcでFiletype設定を整理する最良の方法は?
質問
Vim Dotfilesを調べて、それらを整理しています。さまざまな矛盾した方法でさまざまなFiletype固有の設定を追加したことに気付きました。 Python用にカスタマイズしているとしましょう。
au BufRead,BufNewFile *.py (do something)
. 。一部のPythonファイルには.py終了がない可能性があるため、私はこれが好きではありません。au FileType python (do something)
. 。これは、.py終了を持つファイルに依存しないため、より良いオプションのようです。欠点は、VIMがいくつかのfiletypesを知らないことです。私はVIMに追加のfiletypesを認識させることができますが、それを行うさまざまな一貫性のない方法もあります。.vim/filetype.vim
ファイル、もう1つ.vim/after/filetype.vim
そしてさまざまなset filetype
コマンドイン.vimrc
.Aを追加します
.vim/ftplugin/python.vim
Filetype固有の設定を備えたファイル。私は理解しています$VIMRUNTIME/ftplugin/python.vim
ここで作成する設定をオーバーライドできます。 1つの問題は、これがどのように相互作用するかわからないということです.vim/filetype.vim
と.vim/after/filetype.vim
.Aを追加します
.vim/after/ftplugin/python.vim
. 。これは後にロードされることを理解しています$VIMRUNTIME/ftplugin/python.vim
そのため、そこから設定を上書きできます。前の方法のように、それがどのように相互作用するかはわかりませんfiletype.vim
ファイル。
したがって、これを行うには少なくとも4つの方法があり、構文ファイルやFiletype固有のプラグインは言及されていません。私にはこれを行う最良の方法は、私のFiletype固有の設定をに置くことです after/ftplugin
だから彼らは上書きされません、そして filetypes.vim
の after
同じ理由で。
ただし、先に進む前に、Filetype固有の設定に対処するための最良の方法について誰かが提案しているかどうかを尋ねたいと思います。
解決
Python固有の設定を保存します $HOME/.vim/ftplugin/python.vim
, 、私は対立することは何もしないからです $VIMRUNTIME/ftplugin/python.vim
.
これらの設定をに保持します ftplugin
ファイルはキープします 私の .vimrc
素晴らしく一般的で、メンテナンスが簡単です(10年以上のVIM使用の後もかなり大きいです)。
あなたがしたい場合は オーバール 何 ftplugin
sは、VIM分布をセットアップします $HOME/.vim/after/ftplugin/python.vim
読まれているように、あなたが望むものです after
これらは。
同様に $HOME/.vim/filetype.vim
前に調達されます $VIMRUNTIME/filetype.vim
そして、それは以前に調達されます $HOME/.vim/after/filetype.vim
.
呼び出し :scriptnames
すべてのソースのスクリプト名が最初にソースされた順序でリストされます。
:help filetype
これらすべてに関するかなり包括的な情報を提供します。