最新版 AsyncRun 除了在 quickfix 窗口里运行程序外,还增加了对内置终端的支持,有几个目的:
:term xxx
很难用,Vim/NeoVim 体验不一致,目录无法指定,窗口不能复用,很多细节要注意。在 :AsyncRun
命令后面追加:-mode=terminal
和 -mode=term
参数来在内置终端内运行命令:
:AsyncRun -mode=term [-pos=?] [-rows=N] [-cols=N] [-focus=0] {cmd}
上面命令运行后,AsyncRun 将会打开一个终端窗口来运行你的命令:
参数 -pos=?
可以指定终端的打开位置,可以设置为:tab
, curwin
, left
, right
, top
以及 bottom
的其中之一,你还可以指定 -rows=?
和 -cols=?
来确定内置终端的大小。
如果当前 tab 内已经有一个运行结束的终端窗口,那么将会复用它,其他 AsyncRun 的参数,比如 -cwd=?
设定运行目录,-save=?
设定是否保存文件等参数同样有效,这样比你直接运行 :term xxx
来用内置终端运行程序方便不少。
另外,如果当前 tab 已经有一个终端窗口了,但是里面的程序还没有结束,那么就不会被复用,AsyncRun 将会建立一个新的终端窗口。
如果你屏幕很小,分屏终端不够爽,那么可以用一个新的 tab 打开终端:
:AsyncRun -mode=term -pos=tab ls -la /usr
运行效果:
整个 tabpage 都能用于显示内置终端,上面所说的窗口复用仅对 split 切分有效,对 -pos=tab
无效。
更多用法见: [AsyncRun 中文文档]
1
jdhao 2020-02-10 21:04:59 +08:00
赞,一直在用这个插件运行 Python 程序
|
2
skywind3000 OP @jdhao 欢迎尝试我基于 asyncrun 的新插件: https://github.com/skywind3000/asynctasks.vim
|