仅使用键盘在终端中选择/复制/粘贴

Mor*_*ten 18 command-line

我正在寻找一种无需鼠标即可在终端中选择、复制和粘贴文本的方法。

我一直在使用tmux到现在,但我发现它的组合键对于日常使用的复制和粘贴来说有点复杂,我现在正在寻找替代方案。

大家有什么建议吗?

需要明确的是,这不是关于管道到剪贴板,而是关于选择文本,因为它可能在例如tmux!

Aki*_*ame 11

我总是用Ctrl+ Shift+CCtrl+ Shift+V中复制和我的(非TMUX)粘贴终端。
您可以在(非 tmux)终端的键盘首选项中更改这些键盘快捷键。

但是,如果您想继续使用 tmux,您还可以通过将命令添加到 .tmux 来更改 tmux 的键盘快捷键~/.tmux.conf。只需在该文件中添加以下内容:

bind-key -n [shortcut. for example Ctrl+v is C-v] [what you want to do. for example 'new-window' etc]
Run Code Online (Sandbox Code Playgroud)

它看起来像这样

bind-key -n C-t new-window
Run Code Online (Sandbox Code Playgroud)

您不需要命令前缀键来执行~/.tmux.conf文件中的命令。

有关可用物品的更多信息,~/.tmux.conf请查看此链接

使用它可以完成非常基本的复制和粘贴,但是为了更有用,我建议使用 Vim 样式的复制/粘贴配置。
可以使用此配置文件其他配置文件启用 Vim 风格的复制/粘贴。然而,这些确实需要使用前缀键。
有人甚至做了一个tmux 扩展来简化在tmux 中复制/粘贴到系统剪贴板的操作。可能值得一看。

如果您想要 Tmux 的替代品,您可以尝试 dvtm ( sudo apt-get install dvtm dtach)。我自己没有使用过它,但看起来它有类似的选项。


d a*_*s y 6

要复制,请使用Ctrl+ Shift+C

要粘贴,请使用Ctrl+ Shift+VShift+insert

另一种方法可以做到这一点:

首先运行命令screen,然后可以执行以下步骤:

  • Ctrl+ a+Esc将使屏幕进入复制模式。
  • 现在,将光标移动到要复制的部分的开头并按 Enter 键。
  • 然后,将光标移动到该部分的末尾进行复制并按 Enter 键。
  • 现在,按Ctrl+ a+]进行粘贴。

  • 很好,但是要复制某些内容,您必须先选择它。不用鼠标如何选择文本? (10认同)

blu*_*112 6

您可以使用screen选择模式。

使用命令进入屏幕会话screen

然后,使用Ctrl+aEsc进入选择模式。

然后,您可以移动光标,使用 选择一些文本space,退出选择模式,并在需要时使用Ctrl+a和粘贴它]

更多信息在这里: http: //web.mit.edu/gnu/doc/html/screen_11.html


ymb*_*rtt 2

考虑一下xclip,它是 X 剪贴板的命令行界面,并且可以通过sudo apt-get install xclip.

您可能已经注意到,在 Ubuntu 中,如果您选择一些文本,然后按鼠标中键,该文本将被粘贴到焦点所在的任何输入中。xclip直接挂钩,所以如果你seq 10 | xclip -i在某个地方运行然后鼠标中键,你将粘贴数字 1 到 10。如果你选择我的用户名然后运行xclip -o | cowsay,你会得到一头牛说“ymbirtt”这个词。

  • 我很惊讶这个答案被接受。@morten 特别指出*这不是关于管道到剪贴板,而是关于选择文本,因为它可以在例如`tmux`* 中。看来@daisy 和@blue112 的答案是正确的。 (8认同)
  • @TadeuszŁazurski,老实说,我也是。`xclip` 是一个非常好的工具,可以补充现有的答案,但我不确定它是 __the__ 答案 (2认同)