Answers:
通过formatoptions
设置来控制。来自:help fo-table
:
您可以使用该
'formatoptions'
选项来影响Vim格式化文本的方式。'formatoptions'
是可以包含以下任何字母的字符串。默认设置为tcq
。您可以使用逗号分隔选项字母,以提高可读性。
请注意,有关“默认值”的陈述在某种程度上具有误导性,因为许多文件类型都会更改格式选项以最适合该文件类型。例如/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-=r formatoptions-=c formatoptions-=o
请注意,使用:set formatoptions-=cro
不会按预期方式工作(因为它是一个字符串,所以它将cro
按该顺序查找string ,但通常不起作用。)。
要仅对当前缓冲区设置更改,请使用:setlocal
代替:set
。如果您希望始终拥有这些选项,则最好autocmd
在vimrc中使用;例如:
au FileType vim setlocal fo-=c fo-=r fo-=o
这将只为'vim'文件类型设置选项,而不会干扰其他文件类型。
如果要始终设置它,请使用:
au FileType * set fo-=c fo-=r fo-=o
set fo-=cro
由于许多文件类型都已设置/扩展,因此仅使用就行不通formatoption
(如上所示);加载文件类型文件后,将执行FileType autocmd 。
au FileType * set fo-=o
到我的.vimrc无效。我按o
了评论行,但它也仍然评论。
formatoptions
是包装我的txt文件。我正在打转头textwidth
,wrapmargin
但没有任何效果。甚至将我的vim从8.1降级到8.0并认为这是一个错误。这解决了我的问题,谢谢。