为什么在 .vimrc 中设置 tabstop=4 无效?

14

我有一个愚蠢的问题,但我卡住了。 我在我的.vimrc文件中设置了set ts=4,但它似乎不起作用。打开一个新文件,tab仍然扩展为3个空格。而在命令模式下,“set ts”得到了“tabstop=3”。是否有像.vimrc这样的最终文件覆盖了我的ts设置?

即使我在vim中键入:set ts=4,当我键入tab时,它的长度只有3个空格。

以下是我怀疑会导致这种恼人结果的选项在我的.vimrc中

set autoindent
set shiftwidth=4
set softtabstop=4
set backspace=2

谢谢。


1
文件的顶部或底部是否有类似于 /* vim: ts=3 */// ex: set ts=3: 的内容?或者可能是一个插件?您在 .vim/syntax 中定义了什么吗? - Amadan
不,我在提问之前已经搜索过了。.vimrc 文件中既没有 ts=3 也没有 tabstop=3。而且 .vim 目录下也没有语法文件。 - Joe.Z
1个回答

53

试试这个:

:verbose set tabstop?

Vim可以告诉你tabstop选项的值来自哪里。


这是非常有用的命令,结果发现是.vim/plugin/my_cscope_maps.vim覆盖了它。非常感谢! - Joe.Z
这也在多个场合为我节省了很多时间和挫折感 :) - wroniasty
2
哇,这很有用。似乎我每天都能学到关于Vim的新东西。 - Matthew Cline
1
我尝试了一下,但只得到了以下内容: tabstop=4 Last set from ~/.vimviews/~=+voc=+app=+models=+schedule.rb= 我仍然不知道它是如何改为4的(我在.vimrc中将其设置为2)。 - Tony Jiang
1
这对我也没用,但是 :version 命令会显示很多信息,包括系统 vimrc、用户 vimrc 和第二个用户 vimrc 文件 - 请检查每一个文件。 - Don
1
对于那些出现“Last set from ~/.vim/view/.*”或类似问题的人:删除所有这些文件(你将失去文件的最后视图,但没有大问题)。如果问题仍然存在,请使用:scriptnames命令。 - Boop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接