有没有办法在 vim 将处理的文件中放置注释以设置文件类型?

有没有办法在 vim 将处理的文件中放置注释以设置文件类型?

例如,如果我想让一个名为gitconfig(无前导.)的文件被 vim 识别为 of filetype=gitconfig,是否有办法在注释或文件本身中的类似内容中指示这一点?注意,我希望它能够跨系统工作,所以修改 vim 的启动文件不是首选。

答案1

这听起来像这个modeline功能(请参阅在线帮助)。在 gitconfig 中,您可以在文件开头或结尾附近有一个如下所示的模型行:

# vi: ft=gitconfig

这需要启用模型行,但由于它们可能存在安全隐患,因此在许多系统上默认情况下会禁用它们。

另一种可能需要更多工作的方法是创建一个.vim包含以下内容的文件

au BufRead,BufNewFile */gitconfig setfiletype gitconfig

并将其放入~/.vim/ftdetect您的所有系统中。

答案2

您可以创建一个语法文件并将其放在 vim 的share/syntax目录中(在 Debian Lenny 上是这样/usr/share/vim/vim71/syntax(您的发行版可能有所不同))。

关于 Vim 语法格式的文档在这里:http://vimdoc.sourceforge.net/htmldoc/syntax.html

您也许可以在 Internet 上的某个地方找到现成的语法文件,但我将其作为练习留给您。

相关内容