Vim把我通过.vimrc指定的文件类型改成了另一种类型
我正在编辑一个OpenCL源文件,foo.cl,在Vim 9.1中。我的 .vimrc 有如下行:
au BufRead,BufNewFile *.cl setfiletype opencl
用于为前缀为 .cl 的文件选择一个 opencl 文件类型。 然而,在Vim中,我没有得到正确的高亮显示,而且 :set filetype? 告诉我 filetype=lisp。
现在,我知道 "cl" 是Common Lisp的首字母缩写,可能在某处全局Vim设置中定义,但我该如何覆盖它,并强制Vim使用 opencl 类型来加载 .cl 文件?
解决方案
:help :setfiletype 通常用于为尚未设置文件类型的缓冲区设置文件类型。在执行你的自动命令时,你的 *.cl 缓冲区的文件类型已经被设置为 lisp,因此 :setfiletype 按设计不会起作用。
你应该改用 :help set 和 :help 'filetype' 选项:
autocmd BufRead,BufNewFile *.cl set filetype=opencl
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。