Vim 为特定文件类型设置不同的格式选项
我试图在formatoptions中为除filetype vim之外的所有文件打开Vim 为特定文件类型设置不同的格式选项,vim,Vim,我试图在formatoptions中为除filetype vim之外的所有文件打开c标志。以下内容无法实现这一目标: autocmd BufRead,BufNew,BufEnter *.* set formatoptions+=c autocmd FileType vim setlocal formatoptions-=c 谁能告诉我我做错了什么?谢谢。您正在做的事情看起来是这样的: if foo == 1 do something elseif
c
标志。以下内容无法实现这一目标:
autocmd BufRead,BufNew,BufEnter *.* set formatoptions+=c
autocmd FileType vim setlocal formatoptions-=c
谁能告诉我我做错了什么?谢谢。您正在做的事情看起来是这样的:
if foo == 1
do something
elseif bar == "baz"
do something else
一种情况是由某件事引起的,另一种情况是由完全不同的事情引起的,因此……这些情况并不是相互排斥的
要么检查相同的内容,如文件类型
,要么设置一个默认值,后跟一个本地值
set formatoptions+=c
autocmd FileType vim setlocal formatoptions-=c
这样,除了
vim
之外,每个文件类型都有c
,您所做的事情如下所示:
if foo == 1
do something
elseif bar == "baz"
do something else
一种情况是由某件事引起的,另一种情况是由完全不同的事情引起的,因此……这些情况并不是相互排斥的
要么检查相同的内容,如文件类型
,要么设置一个默认值,后跟一个本地值
set formatoptions+=c
autocmd FileType vim setlocal formatoptions-=c
这样,除了
vim
filetype
事件在设置“filetype”时被触发外,每个文件类型都有c
当您进入该缓冲区时,BufEnter*
将被触发,也就是说,它发生在FileType
事件之后,并再次添加c
您可以只在vimrc
中设置formatoptions+=c
并仅使用一个autocmd,如果是vim文件类型,则从选项中删除c。文件类型
事件是在设置“文件类型”时触发的
当您进入该缓冲区时,BufEnter*
将被触发,也就是说,它发生在FileType
事件之后,并再次添加c
您可以只在vimrc中设置formatoptions+=c
并仅使用一个autocmd,如果是vim文件类型,则从选项中删除c