【问题标题】:Vim filetype not properly set when text in file is starting with "#", therfore syntax is not properly highlighted当文件中的文本以“#”开头时,Vim 文件类型未正确设置,因此语法未正确突出显示
【发布时间】:2020-07-16 07:42:25
【问题描述】:

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

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

为此,我在 .vimrc 中添加了以下行

au BufNewFile,BufRead *.foo setf foo

这是完美的工作,但是......

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

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

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

【问题讨论】:

  • 这很奇怪,因为这种文件类型已经存在并且它的检测已经包含在默认值中
  • 我只是以结尾的“abc”为例。也许不是一个好主意,因为我不知道这种文件类型存在。
  • abc 更改为例如foo 在您的问题中(或实际文件类型)
  • 根据您的建议更新了问题,感谢您的反馈
  • 我无法重现。这个问题也更适合Vi and Vim

标签: vim syntax-highlighting file-type


【解决方案1】:

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

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

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

【讨论】:

  • 非常感谢!!这正在解决问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
相关资源
最近更新 更多