2011-02-04 50 views
9

如果我在gVim的輸入評論這樣如何阻止Vim在ENTER按鈕上自動創建註釋?

// this is a comment

,我敲回車,它會自動啓動以//下一行,所以它看起來是這樣的:

// this is a comment 
// 

但通常我不想在使用此評論風格時寫更多評論。我是否可以停止gVim自動執行此操作,同時仍然保留/ * .. */commenting樣式的自動完成?

回答

3

從我的另一個答案,因爲你不想讓這個觸發/* ... */評論。

用途:

inoremap <expr> <enter> getline('.') =~ '^\s*//' ? '<enter><esc>S' : '<enter>' 

對於oO

nnoremap <expr> O getline('.') =~ '^\s*//' ? 'O<esc>S' : 'O' 
nnoremap <expr> o getline('.') =~ '^\s*//' ? 'o<esc>S' : 'o' 
24

要禁用它,而敲回車在插入模式下,做:set formatoptions-=r

要禁用它,而在普通模式按o或O,做:set formatoptions-=o

:help 'formatoptions':help fo-table

或者,如果要從行首開始刪除字符,直到光標,仍然可以在插入模式下按CTRL-U

+0

謝謝,但是這也會禁止在進行`/ *`-style註釋後敲擊ENTER時自動完成。我想保留這個選項,但在進行'//'風格的註釋後禁用類似的行爲。這可能嗎? – Merijn 2011-02-04 09:00:47

+1

我喜歡這個解決方案。我在.vim中有以下行。rc: `autocmd BufRead,BufNewFile * set formatoptions- = o` 所以默認情況下,我仍然可以使用回車來創建多行註釋。當我完成評論時,我輸入'o'。 – adampasz 2016-05-24 02:18:38

1

有它禁用每次使用vim的時候,打開你的.vimrc文件,並添加以下行:

autocmd BufNewFile,BufRead * setlocal formatoptions-=r 
0

添加:

set fo-=ro 

~/.vimrc足夠,

禁用ř E打開和從autocommenting在正常模式下ö/O鍵。

foformatoptions的簡寫,-=是扣除某些鍵,同時保留原始值的其餘部分。

fo的值可以使用set fo?命令(ex)模式顯示。

問題help fo在vim的內部手冊頁閱讀更多關於選項的內容。

相關問題