如何将Vim输出缓冲区管道为另一个命令的命令行参数?

时间:2017-08-08 21:19:19

标签: git bash

我正在尝试编写一个bash命令,它将通过文本编辑器(vim或nano或emacs)提示用户输入多行输入,并将其作为参数的一部分注入。

例如,如果我运行git命令 git commit --amend它将使用所需的消息修改提交消息。

但是,如果我只是

conversationToken.state它将打开命令行编辑器并提示提交消息,一旦我保存它将被注入命令消息。

另外,有没有办法存储从read接收的输入并将其存储在变量?

提前谢谢

1 个答案:

答案 0 :(得分:0)

您应该做的是让编辑器写入文件,然后使用文件内容作为参数。

例如:

nano /tmp/test.txt; git commit -m "$(cat /tmp/test.txt)"; rm /tmp/test.txt