前端之家收集整理的这篇文章主要介绍了
在Vim中使用smartindent的问题,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在使用smartindent的
vim中:
>在说出if语句后按Enter键
>输入{
>按两次Enter键
>输入}
>如果您点击↑并转到上一行,则会从空行中删除缩进.
甚至vim文档都说:
如果您没有在新行上键入任何内容,除了< BS>或CTRL-D然后键入< Esc>,CTRL-O或< CR>,再次删除缩进.
有没有办法保留这个缩进而不删除它?
使用Shift S开始编辑空白行(显然从命令模式).这将使用预期的缩进级别启动光标.
另一个没有回答问题的问题但总体来说是一个更好的解决方案:
在插入模式下键入左括号时,将插入一组匹配的大括号
并将光标放在中间的新行上.
:imap { {<CR>}<Esc>O
同样,这将自动插入匹配的parens和方括号.
:imap ( ()<Left>
:imap [ []<Left>
(剥离前导:添加到vimrc时.)
正如我对Victor的答案所评论的那样,更改Vim的缩进行为会在整个文件中留下包含无关空间的“空”行. IMO,这是完全无法忍受的.