【问题标题】:How do i correctly set the filetype txt for *.txt files in vim如何在 vim 中正确设置 *.txt 文件的文件类型 txt
【发布时间】:2014-03-14 17:55:53
【问题描述】:

我试图弄清楚我应该如何将文件文本设置为 txt 以用于 vim 中的 *.txt 文件

我很想在ftdetect 目录中添加一个包含内容的文件

autocmd BufNewFile,BufRead    *.txt     set ft=txt

然而,这种方法的问题在于,当我编辑 robots.txt 时也会触发 autocmd。 vim 的默认值 ($VIMRUNTIME/filetype.vim) 是检测 robots.txt 文件并在这种情况下(正确地)将文件类型设置为 robots。我不想改变它。

此外,我不知道为什么我必须将此 autocmd 行包含到 ftdected 目录中。将这一行添加到我的 vimrc 文件有什么区别?

【问题讨论】:

    标签: vim configuration


    【解决方案1】:

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

    “ftdetect”目录下的文件全部默认使用 检查,因此他们可以否决以前检测到的文件类型。但是你 也可以使用 |:setfiletype|保留以前检测到的文件类型。

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

    【讨论】:

    • 非常感谢您解决这个问题!我不知道我看了多少次setf 却没有意识到这与set ft= 不同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多