我很难搞清楚这一点。我在AutoClose.vim插件的帮助下键入以下内容:
function trim() {|}
|是我的光标的位置。我想要实现的是,只要我输入代码就应该看起来像:
function trim() {
|
}
相反,现在发生的事情是:
function trim() {
|}
答案 0 :(得分:2)
试试:set cindent
。这不会完全符合你的要求,因为按Enter键只会添加一个换行符,而不是两个换行符,但你应该得到类似的东西:
function trim() {
|}
键入函数的最后一行后,使用 Ctrl + D (在插入模式下)到“dedent”(缩进的反面)}
返回左边距。
您可能还需要更改cinkeys
选项,以确保自动注册对您想要的键做出反应。
答案 1 :(得分:1)
另一个有用的vim设置是:set smartindent
,它与cindent
非常相似,但更为一般。使用:help smartindent
和:help cindent
答案 2 :(得分:1)
为什么不修改Autoclose.vim将你的右括号放在下一行,如果你的光标位于开头行的末尾,那么当你点击输入时它会缩进它。
在:
function trim() {|
}
在< Enter>之后:
function trim() {
|
}
答案 3 :(得分:0)
在vimrc
中设置这些内容应解决问题:
set ai
set smartindent
ino {<CR> {<CR>}<ESC>O
事实上,最后一行自动填写了您的{
,并在输入 {后跟 Enter 时将您置于适当的位置。