如何阻止Vim在按Enter键时自动插入注解前导符?

iaqfqrcu  于 2022-11-11  发布在  其他
关注(0)|答案(5)|浏览(126)

如果我在gVim中输入这样的注解
// this is a comment
并且我按了ENTER键,它将自动以//开始下一行,因此它看起来像这样:

// this is a comment
//

但通常我不想在使用这种评论风格时写更多的评论。我可以停止gVim自动写评论,同时保持/*.. */评论风格的自动完成吗?

bttbmeg0

bttbmeg01#

若要在插入模式下按ENTER键时禁用它,请执行:set formatoptions-=r
要在正常模式下按o或O时禁用它,请执行:set formatoptions-=o
请参阅:help 'formatoptions':help fo-table
或者,如果要删除从行首到光标的字符,您仍可以在插入模式下按CTRL-U。

lo8azlld

lo8azlld2#

另 一 个 答案 从 我 的 , 因为 你 不 想 有 这个 触发 的 /* ... */ 评论 。
用途 :

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'

格式

lxkprmvk

lxkprmvk3#

要在每次使用vim时禁用它,请打开.vimrc文件并添加以下行:

autocmd BufNewFile,BufRead * setlocal formatoptions-=r
lkaoscv7

lkaoscv74#

正在添加:

set fo-=ro

~/.vimrc中是足够,
以禁用正常模式下的Return和o/O键的自动注解功能。
foformatoptions的简写,-=是减去某些键,同时保留原始值的其余部分。
fo的值可以在命令(ex)模式下使用set fo?来显示。
发布help fo,阅读vim内部手册页中有关选项的更多信息。

wribegjk

wribegjk5#

永久禁用此行为,请将autocmd FileType * set formatoptions-=r添加到您的.vimrc/init.vim中。

相关问题