Vim-在保存\写入时触发动作\脚本?


14

对于超级用户来说,这可能会更好,但是我认为,作为一种交易工具,这可能是一个更好的话题。在vim中进行编辑时,我经常退出,运行一些正在测试的脚本,然后返回vim(是的,我知道我可以使用:!command从vim中运行内容),我只是想知道是否存在保存文件时挂勾要运行的方法(:w)?

Answers:



19

看到:he :autocmd:he BufWritePost

该行如下所示:

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

如果<afile>东西没用,请使用%:p


1

我得到了“回到vim”部分,但是我不确定如何自己打“:w”命令(这将非常方便,因为这对我来说很自如)

w | silent execute "! myscript" | redraw!

我认为对于超级用户也可能更好。


1

这是公然的自我宣传,但是我写了一个Vim插件,它将触发特定的Shell脚本在特定的Vim autocmd事件之后运行。例如,.bufwritepost.vimhook.sh每次启动BufWritePost命令时,都会(同步)运行名为的脚本。然后,您可以轻松地将所需的任意逻辑包含在该脚本中。该插件假定这些脚本具有特定的命名约定,并且还支持“挂钩”脚本,这些脚本仅在与某些名称匹配或具有某些扩展名的文件上触发。当然,autocmd尽管我发现BufWritePost适合大多数用例,但是您可以自由选择任何希望的事件。

完整详细信息:https : //github.com/ahw/vim-hooks

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.