如何调用外部“交互式/ TUI”命令,进行交互并读取标准输出

时间:2019-11-06 16:52:43

标签: vim

我正在尝试编写我的第一个vim脚本,因此如果这个问题归结为不了解基本知识,我深表歉意。

主要目的是我想从vim内部调出一个外部命令,并将结果读回到文件中。 我知道如何使用简单的shell命令来执行此操作r !ls。但是,我要与之交互的命令是“交互的”。

我不知道这是否是有意义的描述。但是在外壳中调用此命令会打开一个TUI,然后在与TUI交互之后,该命令将退出并将其放入标准输出中。我想将该标准输出读回vim。

可能会有助于讨论特定的命令,即papis的气候管理器。如果您致电,例如papis list --format '{doc[title]} {doc[author]}'在外壳中将打开一个TUI,允许我筛选并选择一个文档。选择文档后,它将标题和作者放入标准输出中。这就是我要读入vim的内容。

但是,我最初的几次尝试都没有成功。尝试朴素的:r !papis list会导致错误,即使该命令在Shell中有效并且会导致TUI被打开。所以我显然缺少了一些东西。

有人能推荐指南或提出可能的解决方案,以正确调出基于TUI的外部命令并回读其标准输出吗?

0 个答案:

没有答案