「filetype plugin indent on」と「filetype indent on」の違いは何ですか?


38

.vimrcファイルにこれらの2行のいずれかが表示されます。これは最も一般的であるようです:

filetype plugin indent on

しかし、この行との違いは次のとおりです。

filetype indent on

後者のドキュメントを見つけましたが、まだ混乱しています。


2
サイドのヒント::filetypeファイルタイプの設定を表示することができます。
ウィスバッキー

回答:


46

filetype plugin indent on これらのコマンドの組み合わせのようなものです:

filetype on
filetype plugin on
filetype indent on

「検出」、「プラグイン」、「インデント」を一度にオンにします。を読んで、自分で確認できます:help :filetype-overview

検出

ファイルタイプ「検出」は何をしますか?ドキュメントから:

新規または既存のファイルが編集されるたびに、Vimはファイルのタイプを認識し、「filetype」オプションを設定しようとします。これによりFileTypeイベントがトリガーされ、構文の強調表示の設定、オプションの設定などに使用できます。

filetypeコマンドがfiletypeオプションとは異なることに気付いた場合、これはそれほど混乱しません。(コマンド:filetype...、オプション::set filetype...

プラグイン

「プラグイン」パートは何をしますか?ドキュメントから:

これにより、「runtimepath」に「ftplugin.vim」ファイルが実際にロードされます。

その結果、ファイルが編集されると、プラグインファイルがロードされます(検出されたファイルタイプにファイルがある場合)。

ロードされているファイルは必ず名前が付いていないftplugin.vim、それは可能性がありftplugin/html_example.vim、たとえば。

インデント

「インデント」部分は何をしますか?ドキュメントから:

これにより、実際には「runtimepath」に「indent.vim」ファイルがロードされます。

その結果、ファイルが編集されると、そのインデントファイルが読み込まれます(検出されたファイルタイプに対応するものがある場合)。インデント式

繰り返しますが、ファイルには名前を付けない場合がありますが、たとえばindent.vim名前indent/html_example.vimを付けることができます。


1
明確にするために、ファイルの名前は、アクティブ化される「ファイルタイプ」に対応する必要があります。たとえば、<type>/foobar.vim(ファイルタイプごとのサブディレクトリ)<type>_foobar.vimまたは単に<type>.vim<type>が実際のファイルタイプに対応する場合
Christian Brabandt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.