如何在 Tmux 中使用剪贴板进行复制和粘贴

您所在的位置:网站首页 ubuntu如何粘贴复制 如何在 Tmux 中使用剪贴板进行复制和粘贴

如何在 Tmux 中使用剪贴板进行复制和粘贴

2024-05-29 15:12| 来源: 网络整理| 查看: 265

如何在 Tmux 中使用剪贴板进行复制和粘贴

Tmux 是一个开源终端多路复用器应用程序,用于有效管理多个终端窗口。以前使用过 Terminator 应用程序的人大多熟悉 Linux 终端中选项卡管理的概念。使用 Tmux,我们可以将终端分成多个窗格。我们可以通过移动、调整大小以及在它们之间切换来调整这些窗格。这有助于减轻管理 Gnome 终端的多个窗口和选项卡的痛苦。

通常,当您关闭 SSH 连接时,相应的远程终端会话也会关闭。 Tmux 可以提供帮助,因为它会在 SSH 连接终止时保留这些会话。

安装 Tmux 后,您将找不到任何与之关联的图标。它不会作为单独的应用程序出现;相反,我们必须从 Gnome 终端本身调用它。稍后我们将了解如何执行此操作。

注意:在本“操作方法”中,我们使用“Ctrl+b”作为前缀;如果您配置了其他前缀,请将命令替换为您的前缀。

我们将涵盖哪些内容?

在本指南中,我们将学习“如何在 Tmux 中使用剪贴板进行复制和粘贴工作”。我们将使用 Ubuntu 20.04 作为本指南的基础系统。

先决条件

1. 您的系统上应安装 Tmux。

2. 互联网连接和具有“sudo”权限的用户帐户。

入门…

我们在系统上执行的最常见的任务之一是复制和粘贴内容。这些可能是将命令复制到终端、将文本复制到文件或文档工作。然而,对于 Tmux 来说,这并不像我们通常在普通文本编辑器类型的程序中按“Ctrl+c”和“Ctrl+v”那么简单。在 Tmux 中,复制和粘贴任务有些不同,并且在某种程度上,这是一项复杂的任务,尤其是在系统剪贴板和 Tmux 缓冲区之间进行工作时。

在 Tmux 窗口之间复制和粘贴

首先让我们看看如何在 Tmux 窗格和会话之间进行复制粘贴工作。假设会话 sess_1 的 Tmux 窗口上有以下随机文本:

“Lorem ipsum dolor sat amet,consectetur adipiscing elit。 Morbi vulputate rhoncus urna id blandit。 Donec rutrum risuserat,vel portaaugue molestie vel。 ”

我们将此文本复制到另一个:1) Tmux 会话 2) Tmux 窗口/Tmux 窗格。对于上述两种情况,以下步骤是相同的:

步骤 1. 按“前缀”(“Ctrl+b”),然后按“[”进入复制模式。

步骤 2. 使用箭头键找到要开始复制的位置。使用“Ctrl+空格键”开始复制。

步骤 3. 使用箭头键移动到要复制到的文本位置。选择完文本后,按‘Alt+w’或‘Ctrl+w’将文本复制到 Tmux 缓冲区。

步骤 4. 使用前缀(默认情况下为‘Ctrl+b’)后跟‘]’将文本粘贴到 Tmux 窗格/窗口/会话中。

让我们看一下上面的每一个案例:

1. 复制到另一个 Tmux 窗格/窗口:这里,我们的会话使用两个窗格sess_1。

a) 我们首先进入复制模式:

b) 使用箭头键选择要复制的文本,然后按“Alt+w”或“Ctrl+w”。

c) 复制的文本粘贴到 sess_1 的第二个窗格中:

2. 复制到另一个 Tmux 会话:我们现在已经创建了另一个会话, sess_2。

我们已经从会话sess_1复制了文本。使用前缀键(默认情况下为“Ctrl+b”)后跟“]”,复制的文本将从会话的 sess_1 粘贴到 sess_2:

从 Tmux 缓冲区复制到 Linux 系统剪贴板

使用普通组合键“Ctrl+Shift+v”可以非常轻松地从系统剪贴板复制内容并将其粘贴到 Tmux 会话。然而,相反的过程并不那么简单。

从 Tmux 会话复制的文本不能直接粘贴到系统剪贴板。这就是“xclip”发挥作用的地方。 “Xclip”将 Tmux 缓冲区与 Linux 剪贴板集成。现在要将 Tmux 会话复制到系统剪贴板,请按照以下步骤操作:

步骤 1. 要在 Ubuntu 上安装“xclip”,请使用以下命令:

$ sudo apt install xclip

我们已经安装了它:

步骤 2. 现在,我们将通过添加以下行来自定义 tmux.conf:

bind C-c run "tmux save-buffer - | xclip -i -sel clipboard" bind C-v run "tmux set-buffer "$(xclip -o -sel clipboard)"; tmux paste-buffer"

第一行使'前缀'后跟'Ctrl+c'捕获当前的Tmux缓冲区并将此输出提供给'xclip' 。现在我们可以使用系统剪贴板粘贴从 Tmux 剪贴板复制的文本:

第二行配置“前缀”,后跟“Ctrl+v”,将文本从系统剪贴板粘贴到 Tmux 会话,但如前所述,从系统复制和粘贴非常容易剪贴板到 Tmux 会话(使用Ctrl+Shift+v)。所以你可能不需要第二行。如果这不起作用,则必须添加第二行。

复制窗格

我们还可以通过使用“Prefix”+“:”打开 Tmux 命令提示符并输入命令“capture-pane”来复制窗格的可见部分。然后可以将复制的窗格粘贴到焦点会话中。

缓冲区管理

要查看粘贴缓冲区的内容,请在 Tmux 会话中使用以下命令:

$ tmux show-buffer

同样,我们可以将此缓冲区保存到文本文件中,如下所示:

$ tmux save-buffer file1.txt

使用多个粘贴缓冲区

Tmux 为每个新的复制操作创建一个新的粘贴缓冲区。缓冲区的编号从第一个缓冲区开始,该缓冲区的编号为‘0’。要查看所有缓冲区,请使用以下命令:

$ tmux list-buffers

'前缀'后跟']'键将粘贴缓冲区'0'。选择哪个缓冲区要粘贴,请使用以下命令:

$ tmux choose-buffer结论


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3