编辑器中的终端编辑命令

5
我来自于Postgres世界,并不是很陌生UNIX。我的问题是,是否有一种方法可以从命令行调用编辑器,当我关闭编辑器时,输出流会到shell中。这类似于Postgres中可用的 \e 命令,我在其中输入一个查询,在编辑器中轻松进行编辑,而不是在repl中进行编辑,然后退出编辑器以查看我输入的内容和查询的输出。

很抱歉,我可以知道哪里是正确的地方来问这个问题吗? - Gaurav Agarwal
3个回答

7
在bash中,你可以使用ctrl+xctrl+e(两个按键组合)将shell的readline发送到你的$EDITOR。当编辑器退出时,该命令会被执行。
Zsh和其他shell也有类似的功能,可能需要进行配置。

完美的答案!非常感谢。对其他人表示抱歉,我想我的问题没有表达清楚。 - Gaurav Agarwal
2
还有fc命令可用于从shell编辑历史中编辑任意命令。 - Craig Ringer
我们对GUI编辑器和ctrl+xctrl+e进行了一些实验-- 编辑器需要在Bash运行命令缓冲区的内容之前关闭。 MS VS Code编辑器效果不佳,缓冲区为空。 Electron太慢了...;-) - will

0

编写一个执行你所说的操作的shell脚本非常容易。我认为最简单的版本应该是这样的。

$ cat test.sh
vi test.sql
psql -U postgres -h localhost -p 5432 sandbox < test.sql | less

谢谢,但这不是我要找的答案,正确的答案由 demure 给出。 - Gaurav Agarwal

0

我不确定你的回答是否相关! - Gaurav Agarwal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接