如何阻止vim自动为某些文件类型加载语法文件?

时间:2010-07-20 03:50:00

标签: vim

我正在编写一个编写GLSL片段着色器的项目,它恰好具有文件扩展名.fs,因此vim会在打开文件时自动加载第四个语法。

这通常没有问题,我可以使用au BufRead更改语法,但由于某种原因,首先加载第四个语法,这完全搞砸了。它为“单词”添加了更多字符,导致语法高亮和运动无法按预期工作。

有没有办法阻止第四种语法加载,只加载我指定的语法?

2 个答案:

答案 0 :(得分:6)

在名为.vim的{​​{1}}目录(或Windows上的vimfiles目录)中创建一个文件,并将此代码放入其中:

filetype.vim

这会将自定义文件类型检测脚本置于Vim的默认文件类型自动命令之前,因此您的检测自动命令有机会在通常的Vim脚本之前确定文件类型。

重新启动Vim并尝试加载if exists("did_load_filetypes") finish endif augroup filetypedetect " Ignore filetypes for *.fs files autocmd! BufNewFile,BufRead *.fs setfiletype ignored augroup END 文件后,它不应再使用Forth语法突出显示,并且.fs仍应设置为默认值。 (如果已为GLSL片段文件安装语法文件,则可以使用相应的文件类型名称替换iskeyword。)

有关详细信息,请参阅以下主题:

ignored

答案 1 :(得分:0)

将以下行添加到语法文件的末尾:

let b:current_syntax = "<filetype>"