我发现了一个名为 vim-autoclose 的 Vim 自动配对插件。它的使用效果与其他集成开发环境一样好。例如,当你输入
{
时,它会给你返回 {|}
(其中 "|" 代表光标)。然后,如果你按下 "Enter" 键,{|}
将变为:{
|
}
这正是我需要的,但不幸的是它会禁用我的中文输入法应用程序,所以我不得不放弃它。
我尝试了其他自动关闭插件,但没有一个能像上面那样自动关闭。我找到了一种使自动关闭工作方式如上述的方法。
:autocmd FileType c,java,javascript ino <buffer> { <C-G>u{<CR>}<Esc>O<C-T>
但是它在shiftwidth方面有一个问题。例如,如果我:set shiftwidth=4
,则{}
之间的新行将具有8个空格的缩进。新行中的缩进使shiftwidth加倍。
我的问题是如何将新行的缩进设置为与shiftwidth相同的缩进?