运行 vim 仅对可识别的文件类型执行自动命令
Running vim autocommands only on recognized filetypes
我只想 运行 autocmd CursorHold,CursorHoldI * update
文件 'understood' vim 文件类型而不是 *
。例如,我不想 运行 它用于未保存的缓冲区。我知道表达式可以由 if
保护,但我不知道如何写这个条件。
这是您想要实现的目标,用最简单的术语表达:
I want something to happen only on recognised filetypes
然后你可以用一些伪代码来表达:
if Vim assigned a filetype to this buffer
do something
endif
现在,有什么比询问 Vim 更好的了解当前缓冲区是否有 filetype
的方法?
if &filetype != ""
update
endif
这不再是伪代码,只需要内联:
if &filetype != "" | update | endif
将在您的自动命令中使用:
augroup MyAutoSave
autocmd!
autocmd CursorHold,CursorHoldI * if &filetype != "" | update | endif
augroup END
我只想 运行 autocmd CursorHold,CursorHoldI * update
文件 'understood' vim 文件类型而不是 *
。例如,我不想 运行 它用于未保存的缓冲区。我知道表达式可以由 if
保护,但我不知道如何写这个条件。
这是您想要实现的目标,用最简单的术语表达:
I want something to happen only on recognised filetypes
然后你可以用一些伪代码来表达:
if Vim assigned a filetype to this buffer
do something
endif
现在,有什么比询问 Vim 更好的了解当前缓冲区是否有 filetype
的方法?
if &filetype != ""
update
endif
这不再是伪代码,只需要内联:
if &filetype != "" | update | endif
将在您的自动命令中使用:
augroup MyAutoSave
autocmd!
autocmd CursorHold,CursorHoldI * if &filetype != "" | update | endif
augroup END