1

c我正在尝试为除文件类型 vim 之外的所有文件打开 formatoptions 中的标志。以下没有做到这一点:

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

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

4

2 回答 2

2

你在做什么看起来像这样:

if foo == 1
    do something
elseif bar == "baz"
    do something else

一个案例是由某些东西触发的,另一个是由完全不同的东西触发的,所以……这些案例并不相互排斥。

要么检查相同的东西,比如FileType要么设置一个默认值,后跟一个本地值

set formatoptions+=c
autocmd FileType vim setlocal formatoptions-=c

有了这个,c除了vim.

于 2013-09-20T20:20:25.787 回答
2

FileType设置“文件类型”时触发事件。

BufEnter *.*在您进入该缓冲区时触发,即它发生在FileType事件之后,并c再次添加。

您可以在 vimrc 中set formatoptions+=c只使用一个 autocmd,如果是 vim 文件类型,请从选项中删除 c。

于 2013-09-20T20:25:57.430 回答