如何在vim中为* .txt文件正确设置文件类型txt

时间:2014-03-14 09:47:28

标签: vim configuration

我想知道如何在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 文件中有什么区别?

1 个答案:

答案 0 :(得分:4)

使用:setf txt代替:set ft=txt。这样,保留了先前设置的文件类型(例如,用于robots.txt)。来自:help new-filetype

  

" ftdetect"中的文件在所有默认值之后使用目录      检查,因此他们可以否决先前检测到的文件类型。但是你      也可以使用|:setfiletype |保留以前检测到的文件类型。

ftdetect目录的好处是它提供了一个众所周知的抽象,并允许分离规则(当你想为其他人发布你的文件类型插件时,这很重要)。你也可以把它(用:augroup filetypedetect括起来)放到你的~/.vimrc中,但那不可维护,优先规则不同。