在 bash 终端中复制、粘贴和编辑多行命令

pse*_*647 10 terminal bash command-line

带有大量参数的命令有时会使用斜线转义换行符,以使其更易于在 Web 上阅读。这是一个愚蠢的例子

echo -n \
"hello" \
"world"
Run Code Online (Sandbox Code Playgroud)

我不知道如何“正确”粘贴和编辑这个

粘贴到你得到的 bash 中

$ echo -n \
> "hello" \
> "world"
Run Code Online (Sandbox Code Playgroud)

现在,如果我在 OSX 上使用后退箭头键导航,我只能使用 编辑该行> "world",而不是前两行。通常我必须粘贴到临时文件中来修复命令。

有没有更好的方法来执行这个允许编辑任何行的粘贴?bash使这项工作以更好的方式工作的设置?

Pie*_*RET 13

当您在多行上有这样的命令时,如果您在 emacs 模式(通常是默认模式)下使用 bash,ctrl+x ctrl+e它将打开您最喜欢的编辑器,如您的 EDITOR 变量中指定的那样。

或者您可以输入fc,这将在您输入的最后一个命令上打开编辑器,然后您可以根据需要进行编辑,然后随时退出,它将被执行。