2015-01-14 52 views
0

我使用//来标记C文件中的注释,当我到达一行的末尾并按Enter时,Vim在下一行的开头有用地插入//最后一行后可以跳过自动注释吗?

通常这就是我想要的,但是当我完成插入注释后,我必须删除那个//才能继续输入实际代码。对我而言,有可能有一种方法可以终止最后的评论行,而不会收到评论的延续。 Ctl-Enter,Shift-Enter,Fn-Enter不起作用,Alt-Enter使我退出插入模式。

有没有办法a)保持插入模式,b)在下面打开一个空行,并且c)不添加//

+1

如何使用'S'或'cc'清除行并开始插入模式? –

+0

您可以像这样完全禁用此功能:'set formatoptions- = c formatoptions- = r formatoptions- = o'但我不是那么想要的。资料来源:http://vim.wikia.com/wiki/Disable_automatic_comment_insertion – EvergreenTree

+0

[Vim:双输入后删除注释字符](http://stackoverflow.com/q/26222481) – glts

回答

1

有没有内置的方式,但你可以肯定的是,无论是使用的解决方法的命令序列(<CR><Esc>cc,或<Esc>o)定义自定义映射提供此,或者临时改变'formatoptions'选项控制此。

在编辑效率方面,没有太多的选择(我通常只是按<C-u>来清除插入的评论前缀),所以我不知道它是否值得。

+0

不错!不知道那个。 ''比'S'或'cc'要好,我一直在使用,因为那些要求你首先转义插入模式。如果你开始使用'',我建议使用[这个vim提示](http://vim.wikia.com/wiki/Recover_from_accidental_Ctrl-U)。 – BenjaminRH