加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Vim中使用smartindent的问题

发布时间:2020-12-16 01:35:30 所属栏目:安全 来源:网络整理
导读:在使用smartindent的 vim中: 在说出if语句后按Enter键 输入{ 按两次Enter键 输入} 如果您点击↑并转到上一行,则会从空行中删除缩进. 甚至vim文档都说: 如果您没有在新行上键入任何内容,除了 BS或CTRL-D然后键入 Esc,CTRL-O或 CR,再次删除缩进. 有没有办法
在使用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,这是完全无法忍受的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读