autodate.vim でファイル毎に異なる設定をしたいと思っていたら、vimの仕様を調べることになった。 下記ページほぼそのままになるが、まとめておく。
参考
vimエディタがどのディレクトリから設定ファイル、プラグインファイルを読み込むのかを 決定しているのが「runtimepath」オプションです。「runtimepath」オプションの値はディレクトリのリストで、 vimエディタは起動時、「runtimepath」オプションで指定されたディレクトリから、 スクリプトファイルを順々に検索し、ロードします。 (Windows, Mac)
- 通常は $HOME/.vim 。runtimepathは以下のviコマンドで確認できる。
:set runtimepath
runtimepathが重要
vimのファイル読込においてruntimepathが重要な役割を果たします。 VimのDocumentationにはruntimepath内の特定のファイルが順繰り読み込まれることが明記されています。 さっそくruntimepath設定を見る
:set runtimepath
:set runtimepath
をVimRで実行したらこのようになっていた。
~/.config/nvim
/etc/xdg/nvim
~/.local/share/nvim/site
/usr/local/share/nvim/site
~/.cache/dein/.cache/init.vim/.dein
/usr/share/nvim/site
/Applications/VimR.app/Contents/Frameworks/SwiftNeoVim.framework/Resources/runtime
/usr/share/nvim/site/after
/usr/local/share/nvim/site/after
~/.local/share/nvim/site/after
~/.config/nvim/after
~/.config/nvim/dein/repos/github.com/Shougo/dein.vim
~/.cache/dein/.cache/init.vim/.dein/after
たくさん読んでいる・・・。特別な事情がない限り、使うのは~/.config/nvim
、~/.config/nvim/after
でしょう。
検索されるファイルとディレクトリは以下の通りです。
filetype.vim
- ファイル名によるfiletypeの決定
scripts.vim
- ファイルの内容によるfiletypeの決定
autoload/
- 自動的に読み込まれるスクリプト
colors/
- カラースキーマの定義
compiler/
- コンパイラ定義ファイル
doc/
- ヘルプドキュメント
ftplugin/
- ファイルタイプ別のプラグイン
ftdetect/
- ファイルタイプを判別するファイル
indent/
- インデントの設定
keymap/
- キーマップの定義
lang/
- メニューの翻訳(GVim)
menu.vim
- メニューの設定(GVim)
plugin/
- プラグインスクリプト
print/
- 印刷用
spell/
- スペルチェック用
syntax/
- 文法
tutor/
- チュートリアル
文章構造がアレだったので少し直して引用。 みんな定義リスト使おう。
プラグインを大量導入するとこのディレクトリ、ファイル郡の中身が超絶カオスになってゆくので、
プラグイン毎にこれらファイル群を分割管理することで~/.vim
、~/.config/nvim
以下を
スッキリきれいに管理することができる。