如何在Vim中设置文本文件的选项卡?

如何在Vim中设置文本文件的选项卡?,vim,vi,Vim,Vi,我想将我编辑的任何文本(.txt)文件中的制表位设置为2个空格,但我还没有掌握其中的诀窍。也许我只是太笨了。我读过内联文档,但没有用。我曾尝试阅读与Vim相关的博客文章,但很难将其缩小到这个特定的问题,因为搜索Vim文本选项卡包含许多与文本类型文件无关的内容。这是我想到的,但不起作用: autocmd FileType txt setlocal ts=2 sts=2 sw=2 expandtab 请随意否决我,拿走我的程序员徽章,因为我问了这么愚蠢的问题,但我已经厌倦了在这个问题上把头撞在墙上

我想将我编辑的任何文本(.txt)文件中的制表位设置为2个空格,但我还没有掌握其中的诀窍。也许我只是太笨了。我读过内联文档,但没有用。我曾尝试阅读与Vim相关的博客文章,但很难将其缩小到这个特定的问题,因为搜索Vim文本选项卡包含许多与文本类型文件无关的内容。这是我想到的,但不起作用:

autocmd FileType txt setlocal ts=2 sts=2 sw=2 expandtab

请随意否决我,拿走我的程序员徽章,因为我问了这么愚蠢的问题,但我已经厌倦了在这个问题上把头撞在墙上。

我们都知道这种感觉。您的问题是文件类型中缺少“e”。将“txt”更改为“文本”,它应该可以工作

如果在检测文件的文件类型时出现问题,您可以添加此命令来帮助vim解决此问题

autocmd BufEnter *.txt set filetype=text
结果:

autocmd BufEnter *.txt set filetype=text
autocmd FileType text setlocal ts=2 sts=2 sw=2 expandtab

要检查文件的类型,可以执行以下命令:

:set filetype?

我们都知道那种感觉。您的问题是文件类型中缺少“e”。将“txt”更改为“文本”,它应该可以工作

如果在检测文件的文件类型时出现问题,您可以添加此命令来帮助vim解决此问题

autocmd BufEnter *.txt set filetype=text
结果:

autocmd BufEnter *.txt set filetype=text
autocmd FileType text setlocal ts=2 sts=2 sw=2 expandtab

要检查文件的类型,可以执行以下命令:

:set filetype?

也许是我误读了这个问题?@ArturKink不是!也许是我误读了这个问题?@ArturKink不是!是的,我这么做了,但没用。如果我执行vim-u.vimrc.new foo.txt,并且.vimrc.new正好有您在其中显示的行,执行“set filetype?”,只显示“filetype=”。另外,如果我输入“:set”,我看不到任何新的设置。当在
.vimrc
中输入该行并调用
vim foo.txt
时,会发生什么?您可能应该添加
,BufNew
,这样也可以在新文件上工作。是的,我这样做了,但它不工作。如果我执行vim-u.vimrc.new foo.txt,并且.vimrc.new正好有您在其中显示的行,执行“set filetype?”,只显示“filetype=”。另外,如果我输入“:set”,我看不到任何新设置。当我在
.vimrc
中输入该行并调用
vim foo.txt
时,会发生什么?您可能应该添加
,BufNew
,这样也可以在新文件上工作