求助:Vim无法识别新增的GLSL语法文件怎么办
解决Vim/GVim无法识别GLSL语法高亮的问题
先给你一步步排查和解决的方案,咱们先把核心问题定位清楚:
1. 先验证GLSL语法文件本身是否有效
打开你的/tmp/x.glsl文件后,在GVim的命令行里输入:
:set filetype=glsl
看看文件有没有立刻出现语法高亮。如果有,说明语法文件本身没问题,只是Vim没把.glsl后缀和GLSL文件类型关联起来;如果还是没高亮,那咱们再往下查语法文件的兼容性问题。
2. 建立文件后缀与GLSL类型的关联
如果上面手动设置能生效,那只需要让Vim自动识别.glsl文件就行,推荐用下面两种方法之一(优先选用户自定义配置,避免修改系统文件):
方法一:自定义filetype关联文件
在你的用户目录下创建~/.vim/filetype.vim(如果已经存在就直接编辑),添加以下内容:
" 关联.glsl后缀到GLSL文件类型 au BufNewFile,BufRead *.glsl set filetype=glsl
方法二:在Vim配置文件里加自动命令
编辑你的~/.vimrc或者~/.gvimrc文件,加入这一行:
autocmd BufNewFile,BufRead *.glsl set ft=glsl
3. 确保Vim启用了文件类型检测
检查你的Vim配置里有没有这两行(一般默认是开启的,但如果被注释了要打开):
filetype on filetype plugin indent on
这两行是Vim自动识别文件类型的基础,必须开启才能让上面的关联规则生效。
4. 如果手动设置filetype也没高亮?
如果输入:set filetype=glsl后还是没反应,那可能是语法文件的兼容性问题:
- 先试试手动加载语法文件,输入:
如果命令行里报错,说明这个:runtime syntax/glsl.vimglsl.vim文件和你的Vim74版本不兼容,你需要找一个适配Vim74的GLSL语法文件替换它。 - 另外可以检查一下GVim的运行时路径,输入
:echo &runtimepath,确认/usr/share/vim/vim74在输出列表里,确保Vim能找到这个语法文件。
做完这些操作后,重启GVim再打开你的.glsl文件,应该就能看到语法高亮了,而且在Syntax菜单的G分类下也能找到GLSL选项啦。
内容的提问来源于stack exchange,提问作者spraff
相关产品推荐
相关产品推荐

