2015-01-14 21 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