web-dev-qa-db-ja.com

.vimと.vimrcのファイルタイプ設定を整理する最良の方法?

私はそれらを整理するために私のvimドットファイルを調べています。時間の経過とともに、さまざまな一貫性のない方法でさまざまなファイルタイプ固有の設定を追加していることに気付きました。 Python用にカスタマイズしているとします。

  • au BufRead,BufNewFile *.py (do something)。一部のPythonファイルに.py終端がない可能性があるため、これは好きではありません。

  • au FileType python (do something)。 .py終端を持つファイルに依存しないため、これはより良いオプションのようです。欠点は、Vimが一部のファイルタイプを認識しないことです。 Vimに追加のファイルタイプを認識させることもできますが、一貫性のないさまざまな方法があります。.vim/filetype.vimファイル、.vim/after/filetype.vimの別のファイル、set filetypeのさまざまな.vimrcコマンドなどです。

  • ファイルタイプ固有の設定を含む.vim/ftplugin/python.vimファイルを追加します。ここで行った設定は$VIMRUNTIME/ftplugin/python.vimで上書きできることを理解しています。 1つの問題は、これが.vim/filetype.vimおよび.vim/after/filetype.vimとどのように相互作用するのかわからないことです。

  • .vim/after/ftplugin/python.vimを追加します。これは$VIMRUNTIME/ftplugin/python.vimの後に読み込まれるため、そこから設定を上書きできることを理解しています。前の方法と同様に、filetype.vimファイルとどのように相互作用するかはわかりません。

したがって、構文ファイルとファイルタイプ固有のプラグインについては触れずに、少なくとも4つの方法があります。これを行う最善の方法は、ファイルタイプ固有の設定をafter/ftpluginに入れて上書きされないようにすることと、同じ理由でafterfiletypes.vimを入れることです。

ただし、先に進む前に、ファイルタイプ固有の設定を処理するための最良の方法について誰かに提案があるかどうかを尋ねます。

45
dimatura

$HOME/.vim/ftplugin/python.vim と競合することは何もしないので、Python固有の設定は $VIMRUNTIME/ftplugin/python.vim に保存します。

これらの設定を ftplugin ファイルに保持すると、 my .vimrc 簡単で汎用的で維持しやすくなります(10年以上経過しても、かなり大きくなっています) Vimの使用法)。

overrule Vimディストリビューションでftpluginsを設定したい場合は、$HOME/.vim/after/ftplugin/python.vimを読んでくださいafterこれら。

同様に、$HOME/.vim/filetype.vim$VIMRUNTIME/filetype.vimより前にソースされ、$HOME/.vim/after/filetype.vimより前にソースされます。

:scriptnames を呼び出すと、すべてのソーススクリプト名が最初にソースされた順にリストされます。

:help filetype これに関するすべてのかなり包括的な情報を提供します。

66
Johnsyweb