vIM注释会自动缩进
当前按i
+ //
在vIM(在OSX上)添加注释行时,//
字符会按8个空格缩进,而不是根据足够的嵌套级别缩进。vIM注释会自动缩进
我已经尝试使用禁用的评论自动缩进:
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o"
但没有奏效。
我不知道为什么会发生这种情况。 这是错误的缩进的一个例子:
function code() {
var bla = 'bla';
// I just pressed i + // and this happened
// This is where it should have been
}
PS:这.vimrc文件在另一台计算机上工作,它只是没有在这个OSX。
'formatoptions'选项不告诉Vim何时缩进,它告诉Vim何时换行。
我怀疑你的缩进设置(indentexpr,cindent,smartindent)不是你所期望的,或者你的shiftwidth/tabstop/softtabstop设置不符合你的期望,或者两者兼而有之。
检查当前的设置,以及脚本设置他们的方式,有:
:verbose set indentexpr? cindent? smartindent? shiftwidth? tabstop? softtabstop?
你shiftwidth的,制表位,并softtabstop通常应该互相匹配,并匹配缩进你通常添加量。您的缩进设置通常应基于大多数用户的文件类型(您没有提及您正在编辑的文件类型,因此具体取决于我的具体情况)。
这是我的.vimrc http://pastebin.com/kL6VAC2U 我实际上正在尝试编辑javascript。 我刚刚研究了你刚才所说的所有选项,我应该检查,他们似乎是正确的。只有在尝试在新行中插入'//'后,自动缩进才是错误的。 – lucasfcosta
在您看到不良行为并且仍在编辑该文件之后,它们是否“正确”?什么是“正确的”?对我来说,javascript文件的缩进设置只是'cindent'; 'indentexpr'是空的。而且,它对我来说工作得很好。我的tabstop,softtabstop和shiftwidth都设置为2. – Ben
'cindent'已关闭,但它们都设置为4(这正是我想要的)。 'indentexpr'但是不是空的。它指向一个插件路径。 我会尝试删除它,看看我能做些什么,感谢您的帮助。 – lucasfcosta
向我们展示您的'vimrc'。 – romainl