如何存储已在命令行中输入的文本以供以后使用?

Cer*_*ran 4 user-interface command-line copy-paste

我经常发生的一件令人沮丧的事情是,我在命令行界面 (CLI) 中键入了一个长命令,然后意识到我需要在该命令之前执行另一个命令。有时我打开第二个 CLI 来执行该命令,但在其他时候这是不可能的。所以我最终删除了我已经键入的文本,键入并执行了先行命令,最后重新键入并执行了原始命令。

以下是我所知道的最佳替代方案:

Linux Terminal 中,如果我有鼠标,我可以小心地用鼠标突出显示文本,右键单击 -> 复制,然后用Ctrl+清除该行U。当我再次想复制文本,我可以Ctrl+ Shift+ V,中键单击,或右击- >粘贴。没有鼠标,我迷路了。

Windows 命令提示符中,如果我有鼠标,我可以右键单击 -> 标记,用鼠标仔细突出显示文本,Ctrl+C复制,按住Backspace以清除该行。当我再次想要复制的文本时,我可以右键单击 -> 粘贴。没有鼠标,我迷路了。

我觉得应该有更好的方法。对我来说,理想的解决方案是使用某种键盘命令来存储我在当前行上键入的文本以备后用并同时将其从行中删除,以及第二个命令可以重新插入命令行上的文本。这样的解决方案会更快、更舒适,因为它的步骤更少,无需在鼠标和键盘之间切换,也无需担心突出显示正确数量的文本。

Cer*_*ran 6

bash (Unix/Linux/Mac OS X)

(还有 MSYS,包括 Windows 版 Git Bash)

杀环法

  1. 如果您不在行的开头或结尾,请按任一HomeEnd将光标移动到一端。
  2. Ctrl+U杀(剪切)一切交给光标或Ctrl+K杀一切的光标。
  3. Ctrl+Y将文本“拉”回命令行。

如果在输入新行的过程中按下Ctrl+ UCtrl+ KCtrl+W或类似的键(从而杀死新文本),则旧文本不会丢失。所述剪切环可以猛拉(之后被旋转Ctrl+Y使用)Meta+ Y(或Alt+ Y)。这样,您就可以存储多个命令并随意检索它们。

评论方式

存储命令:

  1. HomeCtrl+A将光标移动到当前行的开头。
  2. 键入#以注释掉该行。
  3. Enter(将评论添加到您的历史记录中)。

检索命令:

  1. ?直到到达注释命令。
  2. HomeCtrl+A将光标移动到行首。
  3. Delete删除#。现在你有了原来的命令。

Windows 命令提示符

快速编辑方法

(仍然涉及鼠标操作):

前提条件:在命令提示符的标题栏上,右键单击-> 属性-> 选中“快速编辑模式”-> 确定。

  1. 通过用鼠标左键拖动来突出显示文本。
  2. 在命令提示符窗口内右键单击以进行复制。
  3. Ctrl+Home来明确一切交给光标或Ctrl+End来明确一切光标的权利。
  4. 在命令提示符窗口内右键单击以粘贴。

注意: 此解决方案不太理想,因为如果您的命令占用多于一行(如显示),则它不起作用;行之间的分割将被解释为好像您Enter在该点按下了。


Windows PowerShell

评论方式

存储命令:

  1. HomeCtrl+A将光标移动到当前行的开头。
  2. 键入#以注释掉该行。
  3. Enter(将评论添加到您的历史记录中)。

检索命令:

  1. ?直到到达注释命令。
  2. HomeCtrl+A将光标移动到行首。
  3. Delete删除#。现在你有了原来的命令。

这是一个很棒的Wikipedia 页面,其中包含许多这些快捷方式等等