我有一个名为 WrongFileTypeDetection.R 的文件,其中包含以下文本:
# This file is sometimes wrongly detected as a conf file
我也有两个版本的 _vimrc,我认为它们是完全一样的。但是,当我使用第一个版本时,上述文件被错误地检测为“conf”文件,即使我已明确要求将所有以 .R 结尾的文件设置为 filetype=r。当我更改为第二个版本(将“语法”移到 augroup 定义后面)时,检测再次正常工作。请注意,这是我唯一的配置(我在调试时移开了我的标准 vimrc)。
第一个版本:
syntax on
augroup filetypedetect
autocmd! BufRead,BufNewFile *.r,*.R setfiletype r
augroup END
第二个版本:
augroup filetypedetect
autocmd! BufRead,BufNewFile *.r,*.R setfiletype r
augroup END
syntax on
vimrc 似乎对这两个文件的特定顺序非常敏感。为什么会这样,考虑到其中一行是自动命令,无论如何都会在很久以后运行?这是 Vim 中的错误还是我只是不理解的功能?