按 ctrl+c 之前存储命令,然后恢复

cwe*_*ske 9 command-line shell

有时我在命令提示符中键入一个冗长的命令,然后注意到在实际按下回车键并执行命令之前我需要检查一些东西。我按ctrl+c,执行新命令,然后再次键入取消的命令并执行它。

有没有办法“保存”我要取消的命令,ctrl+c并在我完成“检查某事”命令后恢复它?

请注意,我不想打开另一个终端,因为我通过 ssh 在远程服务器上。

炮弹:

$ git commit -am 'FOO-123: fix issue with dorks around bars'^C
$ git status
# On branch foo
modified: foo.php
$ git commit -am 'FOO-123: fix issue with dorks around bars'
1 file changed, 46 deletions(-)
$ 
Run Code Online (Sandbox Code Playgroud)

小智 12

在 Unix 中,你可以使用命令行编辑器来做这样的事情。我通常运行,set -o emacs所以我可以直接在命令行上使用以下 Emacs 键:

  1. 显示你的命令行
  2. Ctrl-A - 转到命令行的开头
  3. Ctrl-K - 将整个命令行剪切到一个内部缓冲区中
  4. ......在这里做所有需要的工作......
  5. Ctrl-Y - 将缓冲区中的命令粘贴到命令行中

您也可以set -o vi然后使用vi快捷方式进行此类操作。


Kaz*_*Kaz 5

我总是做的是#在命令前面放一个注释标记。稍后我可以在历史记录中调用它,删除注释标记,然后执行命令。