基本上,我的代码有一个预处理器,可以读取所有.foo
个文件并将它们转换为相应的编译.bar
版本,但不会修改任何原件。每次我对源文件进行更改时,我希望在保存完文件后将vim改为!./run-my-preprocessor-script.js
。如何才能做到这一点?我只想在编辑名称以.foo
结尾的文件时发生这种情况。
由于
答案 0 :(得分:0)
您可以使用autocmd
挂钩BufWritePost
事件,如下所示:
autocmd BufWritePost * execute '!ls'
这意味着每次在任何文件上触发BufWritePost
(在写入缓冲区之后)事件时,您都将执行命令!ls
。只需对保存的*.foo
个文件进行操作即可轻松将其专门化:
autocmd BufWritePost *.foo execute '!ls'
现在,仅当写入文件名与表达式!ls
匹配的文件时,才会触发命令*.foo
。
显然,您需要将ls
更改为执行预处理程序脚本所执行的操作,但过程是相同的。将修改后的autocmd
放入您的.vimrc
文件中,它应该可以使用!