我想知道如何在vim中为* .txt文件设置filetext到txt
我很想将文件添加到ftdetect
目录中,内容为
autocmd BufNewFile,BufRead *.txt set ft=txt
然而,这种方法的问题是,当我编辑robots.txt
时,也会触发autocmd。默认情况下,vim($ VIMRUNTIME / filetype.vim)用于检测robots.txt文件,并在这种情况下(正确)将文件类型设置为 robots 。我不想改变它。
此外,我不确定为什么必须将此autocmd行包含在 ftdected 目录中。将行添加到 vimrc 文件中有什么区别?
答案 0 :(得分:4)
使用:setf txt
代替:set ft=txt
。这样,保留了先前设置的文件类型(例如,用于robots.txt
)。来自:help new-filetype
:
" ftdetect"中的文件在所有默认值之后使用目录 检查,因此他们可以否决先前检测到的文件类型。但是你 也可以使用|:setfiletype |保留以前检测到的文件类型。
ftdetect
目录的好处是它提供了一个众所周知的抽象,并允许分离规则(当你想为其他人发布你的文件类型插件时,这很重要)。你也可以把它(用:augroup filetypedetect
括起来)放到你的~/.vimrc
中,但那不可维护,优先规则不同。