从 autocmd 模式中排除帮助和插件页面
Exclude help and plugin pages from autocmd pattern
我想写像autocmd BufAdd * if &filetype != 'help' | echo 'foo'
这样的命令,但是没用。我尝试了不同的选项:&l:filetype
、&buftype
、&l:buftype
;尝试切换 filetype
设置,但没有任何改变。全局命令 autocmd BufAdd * echo 'bar'
在任何地方都有效,包括帮助页面,同时 :echo &filetype
在帮助页面 returns help
上。我做错了什么?
因为,
- 虽然在
BufAdd
中,当前缓冲区可能(而且很可能)与匹配的缓冲区不同;
- 虽然在
BufAdd
中,匹配的缓冲区可能(并且很可能)尚未设置任何 &filetype
。
请注意,通常应该使用 ~/.vim/after/ftplugin/xyz.vim
挂接到某些特定的文件类型。
我想写像autocmd BufAdd * if &filetype != 'help' | echo 'foo'
这样的命令,但是没用。我尝试了不同的选项:&l:filetype
、&buftype
、&l:buftype
;尝试切换 filetype
设置,但没有任何改变。全局命令 autocmd BufAdd * echo 'bar'
在任何地方都有效,包括帮助页面,同时 :echo &filetype
在帮助页面 returns help
上。我做错了什么?
因为,
- 虽然在
BufAdd
中,当前缓冲区可能(而且很可能)与匹配的缓冲区不同; - 虽然在
BufAdd
中,匹配的缓冲区可能(并且很可能)尚未设置任何&filetype
。
请注意,通常应该使用 ~/.vim/after/ftplugin/xyz.vim
挂接到某些特定的文件类型。