为特定文件类型设置不同的格式选项

时间:2013-09-20 20:07:11

标签: vim

我正在尝试为formattype vim以外的所有文件打开格式选项中的c标志。以下内容无法实现:

autocmd BufRead,BufNew,BufEnter *.* set      formatoptions+=c
autocmd FileType vim                setlocal formatoptions-=c

谁能告诉我我做错了什么?感谢。

2 个答案:

答案 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。