使用变量作为autocmd FileType的主题

Mic*_*son 3 vim vim-plugin

是否可以将变量用作对象autocmd

我想允许插件用户定义FileTypes将对其进行操作的插件列表。

这就要求我autocommand为每个给定的FileTypes

以下代码不起作用:

let g:enabledFileTypes = ['javascript', 'vim']

autocmd FileType g:enabledFileTypes * call myFunction()
Run Code Online (Sandbox Code Playgroud)

这样做:

autocmd FileType javascript,vim * call myFunction()
Run Code Online (Sandbox Code Playgroud)

是否可以声明使用变量作为文件类型列表的自动命令?

rom*_*inl 5

*FileType自动命令中,该glob无效。

您可以join()将该列表转换为以逗号分隔的字符串:

execute "autocmd FileType " . join(g:enabledFileTypes, ",") . " call myFunction()"
Run Code Online (Sandbox Code Playgroud)