如何在Linux上的Vim中启用和管理剪贴板访问

Vim 是一个功能强大的文本编辑器,许多程序员和作家因其功能和效率而使用它。一个有用的特性是能够跨多个 Vim 实例访问和共享剪贴板内容。

在这篇文章中,我们将探讨如何在 Vim 中启用剪贴板访问,并有效地从Linux终端管理剪贴板内容。

什么是Vim中的剪贴板访问?

Vim 中的剪贴板访问允许你在不同的Vim实例之间,甚至是Vim与其他应用程序之间复制和粘贴文本。默认情况下,Vim可能无法访问系统剪贴板,因此你需要进行一些更改以启用此功能。

Linux系统中通常有两个剪贴板:

  • 主要剪贴板:这是默认的剪贴板,会自动保存选定的文本。你可以使用鼠标中键粘贴。
  • 剪贴板(X11剪贴板):这是大多数图形应用程序使用的剪贴板,你通常使用快捷键如Ctrl + C进行复制,Ctrl + V进行粘贴。

检查Vim中的剪贴板支持

首先,确保你有一个支持剪贴板访问的 Vim 版本。

vim --version | grep clipboard
Check Vim Clipboard Support

如果你看到 +clipboard,这意味着Vim支持剪贴板。如果你看到 -clipboard,你需要安装一个带剪贴板支持的Vim版本,比如vim-gtkvim-gnomevim-athena

安装支持剪贴板的Vim版本

如果你需要安装一个带剪贴板支持的版本,你可以使用以下适用于你的特定Linux发行版的命令。

sudo apt install vim-gtk3        [On Debian, Ubuntu and Mint]
sudo dnf install vim-X11         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo apk add vim                 [On Alpine Linux]
sudo pacman -S gvim              [On Arch Linux]
sudo zypper install vim-X11      [On OpenSUSE]    
sudo pkg install vim             [On FreeBSD]

在Vim中使用剪贴板

一旦你安装了正确的Vim版本,你可以按照以下步骤在Vim中使用剪贴板:

复制到剪贴板

要从Vim将文本复制到系统剪贴板,请使用以下命令:

  • 可视化模式:通过按v(选择字符)或V(选择整行)进入可视化模式。
  • 选择文本:使用方向键或hjkl来选择你想要复制的文本。
  • 复制到剪贴板:按“+y”(引号加加号后跟y表示复制)。

从剪贴板粘贴

要将剪贴板中的文本粘贴到Vim中,请使用以下命令:

  • 将光标放置在你想要插入文本的位置。
  • 按“+p”(双引号后跟加号和p表示粘贴)。

以下是一个简单的示例,说明如何复制和粘贴:

1。打开一个新的 Vim 实例:

vim file1.txt

2。在file1.txt中输入一些文本:

Hello, this is Vim.

3。使用v选择文本,使用“+y”进行复制。

4。打开另一个带有不同文件的 Vim 实例:

vim file2.txt

5。将光标放在file2.txt中,按“+p”粘贴已复制的文本。

在多个 Vim 实例间使用系统剪贴板

您可以使用系统剪贴板在不同的 Vim 实例和其他应用程序之间共享文本。

从终端访问剪贴板内容

您还可以使用像xclipxsel这样的命令从终端访问剪贴板内容。

sudo apt install xclip         [On Debian, Ubuntu and Mint]
sudo yum install xclip         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo apk add xclip             [On Alpine Linux]
sudo pacman -S xclip           [On Arch Linux]
sudo zypper install xclip      [On OpenSUSE]    
sudo pkg install xclip         [On FreeBSD]

通过终端复制到剪贴板

您可以直接从终端将文件内容复制到剪贴板:

cat filename.txt | xclip -selection clipboard

通过终端粘贴从剪贴板

要将剪贴板内容粘贴到文件中,您可以使用:

xclip -selection clipboard -o > filename.txt
结论

Vim的多个实例间访问剪贴板内容是一个有价值的功能,可以提高您的工作效率。通过在Vim中启用剪贴板支持并使用正确的命令,您可以轻松地在不同文件和应用程序之间复制和粘贴文本。

使用额外的工具如xclip,您可以直接从终端进一步管理剪贴板内容。现在您可以更高效地使用Vim,充分发挥其强大功能!

Source:
https://www.tecmint.com/enable-clipboard-in-vim/