Vim 我的一个文件的tabstop设置不正确

Vim 我的一个文件的tabstop设置不正确,vim,indentation,auto-indent,Vim,Indentation,Auto Indent,每当我打开其中一个文件时,“tabstop”选项的值都不同(不正确)。在我的.vimrc中,我有一行: set tabstop=4 softtabstop=4 shiftwidth=4 noexpandtab 在后面的任何行中都没有提到“tab”。当我打开正在处理的特定文件时,“tabstop”选项设置为8,而所有其他相关选项都是正确的;和所有其他文件(到目前为止)正确显示缩进。我还没有使用modeline或智能选项卡。如果我在文件中找到我的vimrc,它会更正缩进,因此我假设它与vimrc没

每当我打开其中一个文件时,“tabstop”选项的值都不同(不正确)。在我的.vimrc中,我有一行:

set tabstop=4 softtabstop=4 shiftwidth=4 noexpandtab
在后面的任何行中都没有提到“tab”。当我打开正在处理的特定文件时,“tabstop”选项设置为8,而所有其他相关选项都是正确的;和所有其他文件(到目前为止)正确显示缩进。我还没有使用modeline或智能选项卡。如果我在文件中找到我的vimrc,它会更正缩进,因此我假设它与vimrc没有任何直接关系。
发生了什么事?

基本上有两种方法可以替代
.vimrc
:插件(包括特定于文件类型的插件)可能会重置选项,或者可能会通过自动命令进行更改。在任何情况下,第一步都是检查上次修改选项的时间(请参阅):

如果这还不够,请查看Vim自启动以来读取的所有脚本和配置文件的列表:

:scriptnames
(最好在以这种方式加载有问题的文件后立即在新启动的Vim副本中执行此操作,这样
:scriptnames
的输出会更少)

在这些步骤之后,您应该有一个可能是罪魁祸首的脚本列表。没有简单的方法可以缩小范围:你必须
grep
,从
~/.vim
中临时删除插件等等


最后,您将找到一行更改设置的代码。如果它在插件中,请查看其文档以找到覆盖该设置的方法。如果它在缩进文件或ftplugin中的某个位置,请通过将文件放入
~/.vim/after/indent/
~/.vim/after/ftplugin
中来覆盖其效果。自动命令也可能起作用。

基本上有两种方法可以替代
.vimrc
:插件(包括特定于文件类型的插件)可以重置该选项,或者可以通过自动命令进行更改。在任何情况下,第一步都是检查上次修改选项的时间(请参阅):

如果这还不够,请查看Vim自启动以来读取的所有脚本和配置文件的列表:

:scriptnames
(最好在以这种方式加载有问题的文件后立即在新启动的Vim副本中执行此操作,这样
:scriptnames
的输出会更少)

在这些步骤之后,您应该有一个可能是罪魁祸首的脚本列表。没有简单的方法可以缩小范围:你必须
grep
,从
~/.vim
中临时删除插件等等


最后,您将找到一行更改设置的代码。如果它在插件中,请查看其文档以找到覆盖该设置的方法。如果它在缩进文件或ftplugin中的某个位置,请通过将文件放入
~/.vim/after/indent/
~/.vim/after/ftplugin
中来覆盖其效果。自动命令也可以使用。

谢谢,是的,一些python文件类型脚本正在更改该选项。我不知道为什么它最初只影响一个文件,但今天它发生在除少数以外的所有文件上。它似乎已经停止了,所以这很好。谢谢,是的,一些python文件类型脚本正在更改该选项。我不知道为什么它最初只影响一个文件,但今天它发生在除少数以外的所有文件上。它似乎停止了,所以这很好。