.vimrc
文件,其中包括注释。当我有这样的评论时:" example comment
然后在完成评论后按回车在行的末尾,下一行将自动设置为评论(自动插入引号):
" example comment
"
如何停止这种行为?
#1 楼
这由formatoptions
设置控制;从:help fo-table
开始:您可以使用
'formatoptions'
选项来影响Vim格式化文本的方式。'formatoptions'
是可以包含以下任何字母的字符串。 的默认设置为
tcq
。您可以使用逗号分隔选项字母,以提高可读性。请注意,有关“默认值”的声明有些令人误解,因为许多文件类型都会更改formatoptions以使其最适合文件类型;例如在
/usr/share/vim/vim74/ftplugin/vim.vim
中:" Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o".
setlocal fo-=t fo+=croql
您可以使用以下命令查看当前的
formatoptions
::set fo?
formatoptions=jcroql
并查看在哪里它们的设置如下:
:verbose set fo?
formatoptions=jcroql
Last set from /usr/share/vim/vim74/ftplugin/vim.vim
在这种情况下,您要删除
r
标志,但可能还要删除c
和o
标志: /> r Automatically insert the current comment leader after hitting
<Enter> in Insert mode.
c Auto-wrap comments using textwidth, inserting the current comment
leader automatically.
o Automatically insert the current comment leader after hitting 'o' or
'O' in Normal mode.
可以这样操作: ,它将按该顺序查找字符串
:set formatoptions-=cro
,但通常不起作用。)。要仅对当前缓冲区设置更改,请使用
cro
而不是:setlocal
。如果您想一直使用这些选项,最好在vimrc中使用:set
。例如::set formatoptions-=r formatoptions-=c formatoptions-=o
这将仅设置'vim'文件类型的选项,而不会干扰其他文件类型。
如果要始终设置它,请使用:
au FileType vim setlocal fo-=c fo-=r fo-=o
仅使用
autocmd
是行不通的,因为设置/扩展了许多文件类型set fo-=cro
(如上图所示);加载文件类型文件后,将执行FileType autocmd。#2 楼
将此添加到您的vimrc中:au BufEnter * set fo-=c fo-=r fo-=o
由于其他插件设置了
FileType
,因此无法使用formatoption
。评论
即使我禁用了Vundle中的所有插件,这似乎也是我唯一的解决方案。使用neovim。知道为什么会这样吗?
– andrewgazelka
19年11月4日在21:52
@andrewgazelka这可能是由标准Vim安装中的ftplugin设置的(即,不是通过Vundle添加的内容)。使用:verbose设置?查看设置选项的位置。
–丰富
20-2-7在12:18
#3 楼
我的回答与Martin Tournoij非常相似(完全归功于他)。这仅是单行命令。运行此命令时,它将永久禁用继续注释:
echo 'au FileType * set fo-=c fo-=r fo-=o' >> ~/.vimrc
评论
已确认。另外,它的答案在这里:stackoverflow.com/questions/16030639/vim-formatoptions-or
–瓜
2015年2月19日在16:48
添加au FileType *将fo- = o设置为我的.vimrc无效。我在带注释的行中按o,但它仍然也有注释。
– Ixx
18年3月30日在19:39
很久以来,这一直困扰着我。默认格式选项是包装我的txt文件。我在围绕textwidth和wrapmargin的过程中不知所措,但没有任何效果。甚至将我的vim从8.1降级到8.0并认为这是一个错误。这解决了我的问题,谢谢。
–anishjp
19年7月10日在11:01