键盘快捷键用于存储键入的命令并清除行

键盘快捷键用于存储键入的命令并清除行

您知道这种情况:您正在输入一个长命令(例如提交消息)的一半,然后意识到您忘记执行一些无法使用 来添加的先决条件命令&&。通常,当我遇到这种情况时,我会选择使用鼠标输入的内容,将其复制到剪贴板,按 Ctrl-U 清除该行,运行我的先决条件命令并从剪贴板粘贴。但也许有更好的方法,最好不需要使用鼠标?我正在寻找 bash 和/或 zsh 的解决方案。

答案1

使用 CTRL-U 后,可以使用 CTRL-Y 粘贴已删除的内容。使用 CTRL-W 删除一个或多个单词后,也可以使用 CTRL-Y。

请注意,这样您实际上并不需要将任何内容复制到剪贴板或用鼠标选择它 - CTRL-U 实际上是将该行拖到单独的剪贴板,可以这么说。

答案2

在当前行的开头添加一个“#”。按回车键将注释添加到历史记录中。执行先决条件命令。转到上一个命令并删除 #。

答案3

这是最近询问和讨论在 SE 的 Unix 和 Linux 网站上。我的回答解释如果您使用 zsh 作为 shell,则可以使用推送行功能将正在执行的命令存储起来,运行其他命令,然后您的第一个命令将返回,您可以完成它。在.zshrc

bindkey '^L' push-line

然后使用Ctrl+L暂停当前命令并在运行其他命令后返回该命令。

给出了其他几个答案,包括如何在 bash 中执行类似操作的设置以及在 zsh 中此内置命令的一些定制版本。

答案4

您可以Shift-Alt-3注释当前行并转到下一行。然后按upCtrl-eDel然后就好了!

相关内容