Vim 异步运行 Shell 指令的插件 - AsyncRun
自制另一个新的 Vim 8.0 专用异步插件:asyncrun.vim,它可以让你在 Vim 里面异步运行各种 Shell 指令并且把结果实时输出到 Quickfix,需要 Vim 7.4.1829 以上版本。
安装方法
到插件首页 https://github.com/skywind3000/asyncrun.vim 下载项目,并拷贝 asyncrun.vim
到你的 ~/.vim/plugin
。或者使用 Vundle 指向 skywind3000/asyncrun.vim
来自动更新。
基本教程
使用 gcc 异步编译当前文件:
:AsyncRun gcc % -o %<
:AsyncRun g++ -O3 % -o %< -lpthread
该命令会在后台运行 gcc 并且把输出实时显示在 Quickfix 窗口,宏 %
代表当前文件名,%<
代表没有扩展名的文件名。
异步运行 make:
:AsyncRun make
:AsyncRun make -f makefile
异步调用 grep:
:AsyncRun! grep -R word .
:AsyncRun! grep -R <cword> .
默认 :AsyncRun 运行命令后,输出添加到 Quickfix时 Quickfix 会自动滚动到最下面那一行,使用感叹号修饰符以后,可以避免 Quickfix 自动滚动。同时 <cword>
代表当前光标下面的单词。
编译 go项目:
:AsyncRun go build %:p:h
宏 %:p:h
代表当前文件的目录
查询 man page,异步 git push ,以及把设置 F7异步编译当前文件:
:AsyncRun! man -S 3:2:1 <cword>
:AsyncRun git push origin master
:noremap <F7> :AsyncRun gcc % -o %< <cr>
……