いつ/ディレクトリを使用するのですか?


13

私はそれが最終的な発言権を持ち、別の情報源によって上書きされるべきではないものを置く場所であると理解しますが、何かを、たとえばで~/.vim/after/ftplugin/はなく、いつ入れるかを決定する方法がわかりません~/.vim/ftplugin/

人々は通常、不要な動作を観察~/.vim/ftplugin/した~/.vim/after/ftplugin/場合にのみ使用し、そこに移動しますか、それともすぐにすべてをアフターディレクトリに配置しますか?

回答:


19

独自のプラグインを追加するか、またはしたい場合は、一般的に、交換してください、あなた自身の標準プラグインを、それが入るでしょう~/.vim/plugin~/.vim/ftplugin。代わりに、既存のプラグインの機能を維持しながら追加する場合、またはプラグインによって行われたいくつかの設定のみを変更する場合、プラグインは~/.vim/after/pluginまたはに移動し~/.vim/after/ftpluginます。


何らかの理由で、私は常にVimが最初に一致したものを探すのではなく、runtimepathを検索し、検索条件に一致する各ファイルを入手することを常に想定していました。アフターディレクトリにあるもののように聞こえますが、そのような「追加」処理が行われますが、それ以外はすべて、最初の一致が優先されるUnix PATH変数のように処理されますか?
ivan 2017年

4
Vim 検索条件に一致する各ファイルをソースしますが、適切に作成されたプラグインはフォームの上部近くにテストがありif exists("g:loaded_<plugin name>") finish endif let g:loaded_<plugin name> = 1ます。最初にロードされたプラグインは「wins」であり、同じ名前の後続のプラグインはfinishコマンドを通じて早期に終了します。それはあなたの中にどのようにプラグインの~/.vim/pluginディレクトリ、例えば、でプラグインを防ぐことができ$VIMRUNTIME/plugin、完全にロードから。このテストはプラグインファイルに含まれていませんafter
garyjohn 2017年

わかりました。もうわかったと思います。一致するすべてのファイルが供給されますので、使用finishあなただけの最初の試合をロードする際にガード句を、そして(後のディレクトリを使用することなく、finishあなたが他の1の影響を受けています設定を上書きする必要がある場合、ガード節)ソース。
ivan 2017年

1

vanilla vimが特定のファイルタイプを認識し、出荷時の動作を変更したい場合は、独自の設定を ~/.vim/after/ftplugin/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.