我正在使用Linux Mint 12 "Lisa"(x64)上的Vim 7.3.154 cli。 我喜欢使用2列的
这样可以实现相同的效果。每当我打开一个新的Vim实例时,
在新的Vim实例上运行
Vim编译选项|.vimrc
tabstop
和shiftwidth
。 我的.vimrc
文件包含以下内容::set ts=2
:set sw=2
这样可以实现相同的效果。每当我打开一个新的Vim实例时,
tabstop
值会保留,因此现有的制表符会根据.vimrc
进行呈现。但是,一些情况下shiftwidth
值会变为3。这将导致自动缩进为3个字符。在新的Vim实例上运行
:set sw=2
可以解决此问题。请问为什么Vim会忽略/更改来自.vimrc
的shiftwidth
值?我已尝试禁用所有插件,但无济于事。Vim编译选项|.vimrc
:h modeline
- greduannocompatible
,它应该是绝对第一件事。 - greduan/plugin
目录中。该目录中的任何内容都会在Vim完成加载时被加载。请查看此链接以获取更多信息:http://learnvimscriptthehardway.stevelosh.com/chapters/42.html#vimplugin。我将发布一个答案,以便可以关闭此主题。 :) - greduan:verbose set sw?
应该会告诉你当前设置是在哪里进行的。 - Aaron Thoma