~/.vimrc如何否决filetype.vim';语法高亮显示的猜测是错误的?

~/.vimrc如何否决filetype.vim';语法高亮显示的猜测是错误的?,vim,glsl,vim-syntax-highlighting,Vim,Glsl,Vim Syntax Highlighting,GLSL语法荧光灯工作良好。但它无法识别通常以一行开头的.frag或.vert着色器文件,如#version 330。(这是在Ubuntu 12.04.2 LTS上,所有内容都是最新的。) 对于这样一行,加载文件后必须手动键入set syntax=glsl, 可能是因为/usr/share/vim/vim73/filetype.vim “通用配置文件(最后检查一下,这只是猜测!) if…getline(1)=~'^#'…setf conf 为什么~/.vimrc的au BufNewFile,Bu

GLSL语法荧光灯工作良好。但它无法识别通常以一行开头的.frag或.vert着色器文件,如
#version 330
。(这是在Ubuntu 12.04.2 LTS上,所有内容都是最新的。)

对于这样一行,加载文件后必须手动键入
set syntax=glsl
, 可能是因为/usr/share/vim/vim73/filetype.vim

“通用配置文件(最后检查一下,这只是猜测!)

if
getline(1)=~'^#'
setf conf

为什么~/.vimrc的
au BufNewFile,BufRead*.frag,*.vert setf glsl
?在filetype.vim中是否有一个解决方案没有出现错误?

很接近。下面是一个解决方案,一个文件~/.vim/filetype.vim:

if exists("did_load_filetypes")
  finish
endif

augroup filetypedetect
  " Override filetypes for certain files
  autocmd! BufNewFile,BufRead *.frag setfiletype glsl
  autocmd! BufNewFile,BufRead *.vert setfiletype glsl
augroup END