我正在尝试为formattype vim以外的所有文件打开格式选项中的c
标志。以下内容无法实现:
autocmd BufRead,BufNew,BufEnter *.* set formatoptions+=c
autocmd FileType vim setlocal formatoptions-=c
谁能告诉我我做错了什么?感谢。
答案 0 :(得分:2)
你在做什么看起来像这样:
if foo == 1
do something
elseif bar == "baz"
do something else
一个案例是由某个事物引发的,另一个案例是由完全不同的事情引发的......案件并非相互排斥。
您要检查相同的内容,例如FileType
,或,您设置默认值后跟本地值
set formatoptions+=c
autocmd FileType vim setlocal formatoptions-=c
有了这个,除了c
之外,每个文件类型都有vim
。
答案 1 :(得分:2)
FileType
事件是在设置'filetype'时触发的。
当您输入该缓冲区时会触发BufEnter *.*
,即它发生在FileType
事件之后,并再次添加c
。
你可以只在vimrc set formatoptions+=c
中使用一个autocmd,如果是vim文件类型,则从选项中删除c。