如何将tmux窗口中的文本复制到系统剪贴板?

25

我正在使用Ubuntu 16.04和tmux 2.1。我经常将屏幕分成两个垂直的tmux窗口。经常需要从tmux窗口复制大量文本并粘贴到sublime text /浏览器中。我有一种感觉,xsel / xclip可以用来实现相同的功能。然而,互联网上大多数教程都严重臃肿,试图讲解复杂的配置选项,却没有真正解释:

  • 我需要在tmux.conf中配置什么?
  • 如何在tmux窗口中选择文本片段?
  • 如何复制所选文本片段?
  • 如何将文本从系统剪贴板粘贴到文本编辑器/浏览器中?

我不想成为tmux大师。我只想以最简单的方式完成工作。有什么线索可以做到这一点吗?


4
这是一篇非常优秀的关于tmux复制粘贴在Ubuntu上的文章,几乎是为了回答这个问题而写的:https://www.rushiagr.com/blog/2016/06/16/everything-you-need-to-know-about-tmux-copy-pasting-ubuntu/ - Jeff Puckett
可以参考https://dev59.com/9WQm5IYBdhLWcg3w4CTA。 - hellohawaii
4个回答

6

我个人在WSL2上使用Ubuntu 18.04。但是这个解决方案也适用于Ubuntu 16.04。
我一直在使用tmux-yank将文本从tmux缓冲区复制到系统剪贴板。 首先需要安装Tmux Plugin Manager。请参考此链接

然后将tmux-yank插件添加到您的.tmux.conf文件中,详情请参见此处


0
您可以从以下位置查看示例配置:/usr/share/doc/tmux/examples$
您也可以使用ctrl+b+? 查看当前的键绑定。
您可以在.tmux.conf文件中更改这些默认键绑定。如何选择tmux窗口中的文本取决于您的设置。您可以按照vim的方式映射键绑定。进入复制模式(ctrl+b + [),滚动到要复制到tmux剪贴板的文本的开头/结尾,按v(提供与vim相同的键绑定)开始复制。移动到文本的另一端,按y以将文本拷贝。按ctrl+b+]粘贴文本。
我正在尝试弄清楚如何从系统剪贴板复制/粘贴。如果有进展,我会更新我的答案。

谢谢您的回答,我刚刚意识到我误按了ctrl+b+{。 - VimNing

0

搜索 tmux copy clipboard 这个问题,我想分享一些解决方案,如果你正在 VSCode 中使用 tmux ,这可能会对你有所帮助。我使用鼠标选择功能,设置在 .tmux.conf 文件中的 set -g mouse on;为了获取存储在 tmux 缓冲区中的选定片段,我使用命令 cat | code - 并将其粘贴到运行的 cat 中,然后使用 Ctrl-b + ] 在窗口中粘贴片段。粘贴片段也会出现在 VSCode 编辑器中,然后可以轻松地从窗口中复制。


-5

在Windows上的Putty 0.73下,运行在SSH会话中的tmux 1.8以下对我有效。

复制:使用ctrl+b,]进入起始行,按下空格键(它会开始选择和突出显示文本),使用箭头或PageUp到达结束行,按Enter将所有选定的文本放入缓冲区。

粘贴:ctrl+b,]


5
这个问题是关于在 tmux 中复制和粘贴的。OP正在寻找一种将内容复制到系统剪贴板以便在其他地方使用的方法。 - axolotl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接