如何在Vim中保存文件后自动执行shell命令?

knpiaxh1  于 2022-12-13  发布在  Shell
关注(0)|答案(2)|浏览(154)

这是因为我想在每次保存文件后自动运行测试。
我已经看过autocmdBufWritePost,但无法使其工作。

fzwojiic

fzwojiic1#

在保存任何文件后,将运行run_tests.sh,并将当前文件名作为唯一参数:

:autocmd BufWritePost * !run_tests.sh <afile>

查看自动命令:

:autocmd BufWritePost *

并删除之前的所有自动命令:

:autocmd! BufWritePost *
olhwl3o2

olhwl3o22#

将以下内容放入.vimrc文件中:
(take raml2html doc/api.raml > public/api_doc.html作为命令示例)

autocmd BufWritePost,FileWritePost *.raml silent! !raml2html doc/api.raml > public/api_doc.html

注意事项:

  • silent!将隐藏此命令的所有输出
  • :silent(如果使用的是vim7.3-)和silent!(如果使用的是vim7.3+)
  • 需要退出并重新启动Vim,才能使.vimrc生效。

相关问题