1

在 Bash 中,键入 example!make后跟Enter将调用并执行历史中以“make”开头的最后一个命令。

我想要的是回忆那个命令,但在我Enter再次点击之前不要立即评估它,以便我查看它,或者在需要时对其进行编辑。

有没有办法在 Bash 中做到这一点?

4

3 回答 3

4

您可以使用CTRL+p获取上一个命令

您还可以使用CRL+r来反向搜索历史记录中的命令。

于 2013-07-15T02:11:01.493 回答
3

任何历史扩展后的p修饰符将结果打印到命令行以供进一步编辑,而不是执行它。

$ echo foo
foo
$ !!:p
$ echo foo
          ^
          |
          cursor remains here
于 2013-07-15T12:48:35.813 回答
1

history-expand-line您可以使用键 ( M-^)展开当前行的历史记录。

修饰键M通常映射到.Alt

$ !make

AltShift6

$ make -C mydir

如果您的最后一个make命令是make -C mydir. 然后,您可以就地编辑命令行。

或者,您可以按照其他答案中的概述滚动浏览历史记录。

于 2013-07-15T02:25:55.037 回答