Vim – 触发行动\脚本保存\写?

对于超级用户来说,这可能会更好一些,但是我认为这是一个交易的工具,这可能是一个更好的主题。 我经常在vim中编辑时发现我退出,运行一些我正在testing的脚本,然后回到vim(是的,我意识到我可以使用:!命令从vim运行)我只是想知道是否有当文件被保存(:w)时,钩住一些东西来运行的方法?

如果你使用的是Linux,你可能会感兴趣。

请参阅:he :autocmd:he BufWritePost

该行看起来像这样:

 :autocmd BufWritePost /path/to/file/or/pattern !command <afile> 

如果<afile>不起作用,请使用%:p

我得到了“回到vim”的一部分,但是我不知道如何击中“:w”命令本身(这将非常方便,因为这对我来说是非常反感的)

 w | silent execute "! myscript" | redraw! 

我认为这对超级用户来说可能会更好。

这是公然的自我推销,但我写了一个Vim插件,它会触发某些shell脚本在特定的Vim autocmd事件之后运行。 例如,每当BufWritePost命令被触发时,一个名为.bufwritepost.vimhook.sh的脚本将被运行(同步)。 然后你可以很容易地包含任何你想要在脚本中执行任何操作的逻辑。 插件假设这些脚本具体的命名约定,并且还支持“钩子”脚本,这些脚本只能触发与特定名称匹配的文件或具有特定扩展名的文件。 当然,你可以自由地select你想要的任何autocmd事件,尽pipe我发现BufWritePost适合我的大部分用例。

全部细节: https : //github.com/ahw/vim-hooks