有没有办法让VIM将括号放在正确的缩进位置?例如,每当我输入以下内容时:
if (something)
do something
当我在“do something”后按回车键时,它会跳回到if语句所在的行吗?此外,当我进入插入模式时,能否使其自动跳转到正确的缩进级别,而不是停留在行首?
if (something)
do something
当我在“do something”后按回车键时,它会跳回到if语句所在的行吗?此外,当我进入插入模式时,能否使其自动跳转到正确的缩进级别,而不是停留在行首?
对于一般的C语言,您可以在.vimrc中执行此操作。
set smartindent
然而,Vim可以做得更好(并且像你要求的C语言一样),通过为各种语言启用特定规则。为了启用这个功能,我已经:
filetype on
filetype plugin on
filetype indent on
要了解更多细节,请在我的 .vimrc中搜索“indent”。
我使用set cindent命令,它每次都能做正确的事情。
(但我不确定对于C/C++来说,“正确的事情”是否是你所问的。)
:set si
打开智能缩进。如果您遇到单行未加括号的情况,可能需要在输入后按下control-D。
添加
set smartindent