在vim中如何在注释下方插入新的一行?

10
在vim中在评论下方插入新行时,结果往往会在新行开头插入"。这可能是一个简单的解决方法或原因,但我无法找到确切的解决方法。

3
如果您不想更改该设置,<C-u>会清除当前行。 - romainl
2
您可能也会对开发者邮件列表上的此请愿书感兴趣:一些人认为,formatoptions=ro这个设置不应该默认开启,因为它是用户偏好。 - glts
4个回答

17
如果您正在编辑vim文件类型的文件,则Vim可能会默认在注释后的每个新行的开头插入注释字符(在Vimscript中,这将是")。正如已经提到的那样,这是Vim的formatoptions设置的结果。要在当前文件中关闭此行为,请运行:
:set formatoptions-=ro

要默认关闭它,请将以下内容添加到您的~/.vimrc中:

set formatoptions-=ro

如果要关闭 Vimscript 文件的语法高亮,需在 ~/.vimrc 中添加以下内容:

augroup filetype_vim
    autocmd!
    autocmd FileType vim setlocal formatoptions-=ro
augroup END

ro是可以传递给formatoptions的选项。有关可能选项的完整列表,请运行:help fo-table


2
这种行为由“formatoptions”变量控制。
使用“:h formatoptions”了解更多信息。
以下文章也可能有帮助:禁用自动注释插入

2

我认为这应该可以工作,不论你的formatoptions设置如何。

inoremap <CR> <CR><C-U>


1
你在使用哪个命令在下面插入?如果在导航模式下使用标准的“o”按键,则应立即在光标所在位置下方插入新行,并自动将您置于插入模式,而不会插入额外的“

”。同样,大写字母“O”将在光标所在行上方插入新行,并将您放置在插入模式中。

我非常清楚 "o" 和 "O" 的作用。然而,在使用扩展名为 .vim 的文件中的注释时,每当在新行的开头处使用 vim 时,它会创建一个额外的 "。这个 " 部分是我不理解的。 - Brandon Mercer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接