Vim 当文件中的文本以“#”开头时文件类型未正确设置,因此语法未正确突出显示

Vim filetype not properly set when text in file is starting with "#", therfore syntax is not properly highlighted

我创建了一个专门的语法文件 .vim/syntax/foo.vim

我想将此语法文件应用于所有具有相应结尾“myfile.foo”

的文件

为此,我在 .vimrc

中添加了以下行

au BufNewFile,BufRead *.foo setf foo

这非常有效,但是...

如果文件中的文本以“#”开头,则应用不同的文件类型: 文件类型=配置文件

我可以通过使用 :set filetype=foo 来覆盖它以获得我想要的类型。

这有点烦人,我不知道如何克服这个解决方法。

不要在你的 vimrc 中添加任何东西!

改为将您的命令插入 ~/.vim/ftdetect/foo.vim

重点是您的命令必须进入 filetypedetect 自动组,否则任何后续 :filetype detect 都会将您的文件类型覆盖为默认值。