我正在编写一个编写GLSL片段着色器的项目,它恰好具有文件扩展名.fs
,因此vim会在打开文件时自动加载第四个语法。
这通常没有问题,我可以使用au BufRead
更改语法,但由于某种原因,首先加载第四个语法,这完全搞砸了。它为“单词”添加了更多字符,导致语法高亮和运动无法按预期工作。
有没有办法阻止第四种语法加载,只加载我指定的语法?
答案 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>"