不使用鼠标在终端中选择文本

Str*_*sky 84 text command-line shortcut-keys gnome-terminal

我正要按 Enter 在终端中运行命令,但在此之前,我想不使用鼠标将命令复制到剪贴板。

如何?

如果你在终端以外的地方,Ctrl+Home就可以了。

有没有办法在终端中随意选择这样的文本?

编辑:

  • 假设使用其他程序像screen不是一个好的选择
  • 文本要粘贴到终端之外,所以Ctrl+y和类似的序列也不能解决它

小智 29

如果您使用的是能够识别 emacs 键(bash、csh 等)的 shell 之一,那么您可以通过以下方式复制当前命令:

  1. control-A 将带您到行的开头。

  2. control-K 将杀死您刚刚输入的整行。

  3. control-Y 将拉回文本。

然后,您可以control-Y将文本拉回以将文本插入回作为 shell 命令行编辑器的输入。

查看man bash,然后当它出现时,键入/emacs后跟几个n's(下一个)以将您移至 READLINE 部分。

  • `control-U` 可以直接从它的末尾剪切命令 (7认同)
  • 我知道,但想粘贴到终端之外。编辑以澄清。 (2认同)
  • 第二条命令改变了我的生活。 (2认同)

Nyk*_*kin 18

绑定以下快捷方式:

bind '"\C-p": "\C-e\C-u xsel <<"EOF"\n\C-y\nEOF\n\C-y"'
Run Code Online (Sandbox Code Playgroud)

现在使用Crtl+P你的行将被复制到剪贴板。您可以使用以下命令将其粘贴到终端中:

xsel
Run Code Online (Sandbox Code Playgroud)

并使用鼠标中键或Shift+进入任何 X 应用程序Insert

  • 我想避免使用鼠标。是否可以使用 ctrl+shift+v 而不是鼠标中键粘贴? (3认同)
  • 关于这里实际发生的事情的任何解释? (2认同)

dem*_*ure 15

我能想到的最接近的是Ctrl+ u, Ctrl+y
这将从光标删除到行首,然后从 readline 缓冲区粘贴。虽然这与剪贴板不完全相同,但是如果您需要,您可以粘贴到外壳内。

  • 我知道这一点,但想粘贴到终端之外。编辑以澄清。 (2认同)

Mee*_*org 10

有一个程序叫屏幕。它创建了一个文本窗口系统,允许您在多个实例之间切换。但它也允许您选择文本。

sudo apt-get install screen
Run Code Online (Sandbox Code Playgroud)

该命令安装它。

然后输入 screen

您可以使用 ctr-a 来启动命令序列。然后按 esc ,您的光标将向任何方向移动。按回车开始选择文本,移动到终点,再按回车。这将复制到缓冲区。

然后 ctr-a 然后 } 将粘贴

有关其他命令的更多详细信息,请访问 http://www.kuro5hin.org/story/2004/3/9/16838/14935

  • 很好的建议,但由于不同的原因我不喜欢“屏幕”,所以假设使用常规的 Ubuntu 终端。编辑我的问题以进行澄清。 (2认同)