在 Vim 中,如果我在代码文件中输入注释,然后按下Enter,它也会自动将换行符变为注释。
例如,在 Ruby 文件中:
# I manually typed the pound at the start of this line and hit enter.
# This line formatted itself this way automatically.
一般来说,这就是我想要的,但并非总是如此。我如何才能暂时关闭这种自动评论行为?
答案1
我想你正在寻找
:set formatoptions-=cro
You can use the 'formatoptions' option to influence how Vim formats text.
'formatoptions' is a string that can contain any of the letters below. The
default setting is "tcq". You can separate the option letters with commas for
readability.
letter meaning when present in 'formatoptions'
t Auto-wrap text using textwidth
c Auto-wrap comments using textwidth, inserting the current comment
leader automatically.
r Automatically insert the current comment leader after hitting
<Enter> in Insert mode.
o Automatically insert the current comment leader after hitting 'o' or
'O' in Normal mode.
...
答案2
临时设置“粘贴”选项可能会满足您的要求,但它也会禁用许多其他 Vim 功能:
使用:set paste
来打开它,:set nopaste
使用 来关闭它。或者,您也可以使用:set paste!
来切换它。
也可以看看:
:help 'paste'
:help 'pastetoggle'
(这些命令用单引号输入。)
答案3
另一种方法是ctrl-w
按下 后直接按enter
。这会在插入模式下删除前一个单词(例如#
或//
)。事实上,ctrl-w
在大多数应用程序中,这是一种非常通用的快捷方式。
答案4
到永久禁用此行为,请autocmd FileType * set formatoptions-=cro
在您的.vimrc
/中添加init.vim
。