我的vimrc中有以下几行:
" Don't add the comment prefix when I hit enter or o/O on a comment line.
set formatoptions-=or
过去曾经工作过。我不知道我做了什么,但它不再存在,我在创建换行符时仍然会收到评论。有什么可以禁用它?这是我的vimrc:http://pastebin.com/kVWWeQWW
答案 0 :(得分:11)
如果您在启动后发现标记o
正在formatoptions
中插入,您应该找出原因并进行修复。即使在删除选项后,这似乎比始终执行autocmd
更清晰。
您可以使用以下命令检查设置选项的位置:
:5verbose set fo?
:5verbose setl fo?
修改强>
如果您的问题是ftplugin
文件位于Vim目录($VIMRUNTIME/ftplugin
)上,则不应更改该文件,因为更新Vim时该更改将被撤消。更改它的正确方法是在after
目录中,如:h after-directory
中所述。
假设c
文件类型出现问题,请创建包含~/.vim/after/ftplugin/c.vim
命令的文件setlocal formatoptions-=
。
答案 1 :(得分:7)
@ mm2703的解决方案对我没有用,特别是对于java文件,但这种改变确实如此。我还将其包含在augroup
声明中,因此资源.vimrc
不会重新注册autocmd
:
augroup Format-Options
autocmd!
autocmd BufEnter * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
" This can be done as well instead of the previous line, for setting formatoptions as you choose:
autocmd BufEnter * setlocal formatoptions=crqn2l1j
augroup END
答案 2 :(得分:6)
如果您的'formatoptions'
包含不同顺序的选项,例如ro
,那么-=or
将无效。尝试
set formatoptions-=o
set formatoptions-=r
来自help remove-option-flags
:
请注意,您应该一次添加或删除一个标志。如果'guioptions'的值为“ab”,则使用“set guioptions- = ba”将不起作用,因为字符串“ba”不会出现。
答案 3 :(得分:4)
我意识到:set formatoptions?
虽然o
标志在启动时被禁用,但在打开文件时它又回来了。这在我的vimrc中修复了它:
" Don't add the comment prefix when I hit enter or o/O on a comment line.
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
答案 4 :(得分:0)
谢谢,这对我有用 - 但我禁用恼人的格式化功能......
autocmd!
autocmd BufEnter * setlocal formatoptions-=c formatoptions-=q formatoptions-=n formatoptions-=r formatoptions-=o formatoptions-=l
似乎vimrc只是忽略了组合语法,例如。 formatoptions- = CQN