2011-02-04 48 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的内部手册页阅读更多关于选项的内容。

相关问题