`filetype plugin indent on`和`filetype indent on`有什么区别?


38

我在.vimrc文件中看到这两行之一。这似乎是最常见的:

filetype plugin indent on

但是它与以下行有何不同:

filetype indent on

我已经找到了后者的文档,但是我仍然感到困惑。


2
侧面提示:您可以:filetype显示文件类型设置。
Wisbucky

Answers:


46

filetype plugin indent on 就像这些命令的组合:

filetype on
filetype plugin on
filetype indent on

它一次打开“检测”,“插件”和“缩进”。您可以通过阅读检查自己:help :filetype-overview

检测

文件类型“检测”有什么作用?从文档:

每次编辑一个新文件或现有文件时,Vim都会尝试识别文件的类型并设置'filetype'选项。这将触发FileType事件,该事件可用于设置语法突出显示,设置选项等。

如果您意识到该filetype命令与该filetype选项是不同的,这将减少混乱。(该命令:filetype...,选项::set filetype...

插入

“插件”部分有什么作用?从文档:

这实际上将文件“ ftplugin.vim”加载到“ runtimepath”中。

结果是,在编辑文件时,将加载其插件文件(如果检测到的文件类型为一个)。

正在加载的文件并不一定要命名ftplugin.vimftplugin/html_example.vim例如。

缩进

“缩进”部分做什么?从文档:

这实际上将文件“ indent.vim”加载到“ runtimepath”中。

结果是,在编辑文件时,将加载其缩进文件(如果检测到的文件类型为缩进文件)。缩进表达式

同样,该文件可能未命名indent.vim,例如它可能被命名indent/html_example.vim


1
为了清楚起见,文件名应与将要为其激活的“文件类型”相对应,例如<type>/foobar.vim(每个文件类型的子目录),<type>_foobar.vim或者仅<type>.vim<type>对应于实际文件类型
Christian Brabandt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.