如果加载了特定文件类型的文件,我可以使用autocmd使我的cmd运行。例如对于python:
autocmd FileType python make me happy with python
但如果加载的文件不是特定类型,有没有办法让我的cmd运行?类似的东西:
autocmd FileType !python make me happy without python
上面的示例不起作用,autocmd!
将删除autocmd。
有什么建议吗?感谢。
答案 0 :(得分:6)
有几种可能性:
*
模式并仅在检查文件类型的if条件内调用您的代码(类似于此):
autocmd Filetype * if &ft!="python"|put your code here|endif
:autocmd FileType [^p],[^p][^y],[^p][^y][^t],[^p][^y][^t][^h],[^p][^y][^t][^h][^o],[^p][^y][^t][^h][^o][^n] :put your code here
(最后一部分未经测试,应该说明,为什么通常使用任何其他可能性。)
答案 1 :(得分:3)
您可以创建一个由所有(autocmd
)文件类型触发的*
,然后调用一个函数。
在该函数中,您可以检查ft
选项(&ft
)以确定应对特定文件类型执行的操作。在那里,您可以使用&ft
的值进行任何匹配逻辑。