我正在编写一个GLSL片段着色器的项目,它只是发生它具有文件扩展名.fs
,因此vim会在打开文件时自动加载第四个语法。如何禁止vim自动为某些文件类型加载语法文件?
这通常不会有什么问题,我可以改变使用au BufRead
语法,但由于某些原因,提出语法第一次加载,这完全弄乱的东西了。它将更多的字符添加到导致语法突出显示和动作无法按预期工作的“单词”中。
有没有办法停止加载第四语法,只加载我指定的语法?
我正在编写一个GLSL片段着色器的项目,它只是发生它具有文件扩展名.fs
,因此vim会在打开文件时自动加载第四个语法。如何禁止vim自动为某些文件类型加载语法文件?
这通常不会有什么问题,我可以改变使用au BufRead
语法,但由于某些原因,提出语法第一次加载,这完全弄乱的东西了。它将更多的字符添加到导致语法突出显示和动作无法按预期工作的“单词”中。
有没有办法停止加载第四语法,只加载我指定的语法?
在.vim
目录(或Windows vimfiles
目录)中创建一个名为filetype.vim
,并把这个代码是:
if exists("did_load_filetypes")
finish
endif
augroup filetypedetect
" Ignore filetypes for *.fs files
autocmd! BufNewFile,BufRead *.fs setfiletype ignored
augroup END
这地方自定义文件类型检测脚本提前Vim的默认文件类型自动命令的,所以您的检测自动命令有机会在通常的Vim脚本之前确定文件类型。
重新启动Vim并尝试加载.fs
文件后,应该不再使用Forth语法高亮显示,并且iskeyword
仍应设置为默认值。 (如果你已经安装了GLSL片段文件语法文件,可以更换ignored
用适当的文件类型的名称。)
看到这些主题,详细信息:
:help remove-filetype
:help new-filetype
:help :setfiletype
谢谢,这个作品很棒。 – leafo 2010-07-22 05:14:20
以下行添加到你的语法文件的末尾:
let b:current_syntax = "<filetype>"
如果你做手工':设置SYN = glsl',是否工作根据需要? – earl 2010-07-20 04:06:38
nope,损坏已在文件加载后完成。我找到了改变的路线,我可以撤消它,但我希望找到更清晰的解决方案。 如果你有兴趣,它是'set iskeyword'。 – leafo 2010-07-20 04:22:11