我用 Vim 打开.tex
文件,但有些文件被识别为 ,filetype=plaintex
而其他文件被识别为filetype=tex
。这是为什么?将文件识别为 tex 的触发器是什么,它具有我想要的突出显示?
答案1
为什么有些.tex
文件在 Vim 中以 开头,filetype=plaintex
而其他文件则以 开头filetype=tex
?由于本例中相同的扩展名.tex
用于多种文件类型,因此“Vim 会尝试猜测它是什么类型的文件”,根据Vim 文件类型覆盖文档。
这Vim 文件类型文档的 ft-tex-plugin 部分列出 Vim 使用的规则(版本 7 及更高版本)来确定文件使用哪种文件类型.tex
:
- 如果文件的第一行
%&<format>
可以<format>
是plain
、context
或latex
,则文件类型分别设置为纯 TeX、ConTeXt 或 LaTeX。 - 如果第一行没有格式指示符命令,那么 Vim 会在文件中搜索关键字来确定文件类型是否应设置为
context
(ConTeXt) 或tex
(LaTeX)。 - 如果没有找到关键字,则文件类型设置为
plaintex
(plain TeX)。
最后一条规则很重要。如果你.tex
使用 之类的命令创建一个空文件touch myfile.tex
,那么当你在 Vim 中打开它时,文件类型将默认为plaintex
,因为该文件是空白的。
tex_flavor
您可以通过设置全局变量来更改默认行为.vimrc
:
let g:tex_flavor = "plain"
let g:tex_flavor = "context"
let g:tex_flavor = "latex"
答案2
您是否在使用 LaTeX-suite 插件?如果是,那么您可能需要
let g:tex_flavor='latex'
在你的.vimrc中。
答案3
我非常想知道更多关于这个主题的信息:http://vimdoc.sourceforge.net/htmldoc/filetype.html
要禁用其中一种文件类型,请在文件类型文件中添加一行,请参阅 |remove-filetype|。