在使用smartindent的vim中:
Enter说完if语句后按
输入 {
按Enter两次
输入 }
如果您点击↑并转到上一行,则会从空行中删除缩进.
甚至vim文档都说:
如果您没有在新行上键入任何内容,除了
或CTRL-D
然后键入
,CTRL-O
或者
,再次删除缩进.
有没有办法保留这个缩进而不删除它?
使用Shift+ S开始在空白行编辑(显然从命令模式).这将使用预期的缩进级别启动光标.
另一个没有回答问题的问题但总体来说是一个更好的解决方案:
在插入模式下键入左括号时,这将插入一组匹配的大括号,并将光标留在中间的新行上.
:imap { {} O
同样,这将自动插入匹配的parens和方括号.
:imap ( ():imap [ []
(:
添加时删除前导vimrc
.)
正如我对Victor的答案所评论的那样,更改Vim的缩进行为会在整个文件中留下包含无关空间的"空"行.IMO,这是完全无法忍受的.