Как включить и управлять доступом к буферу обмена в Vim на Linux

Вимсильный текстовый редактор, который используют многие программисты и писатели за счет своих функций и эффективности. Одна из полезных функций заключается в возможности получения и обмена содержимого буфера обмена между несколькими экземплярами Вим.

В этой статье мы посмотрим, как активировать доступ к буферу обмена в Вим и эффективно управлять содержимым буфера обмена из терминала Linux.

Что такое доступ к буферу обмена в Вим?

Доступ к буферу обмена в Вим позволяет вам копировать и вставлять текст между различными экземплярами Вим, а также даже между Вим и другими приложениями. по умолчанию Вим может не иметь доступа к системному буферу обмена, поэтому вам нужно будет сделать несколько изменений, чтобы активировать эту функцию.

Обычно в системах Linux есть два буфера обмена:

  • Основной буfer обмена: Это значение по умолчанию, которое автоматически сохраняет выделенный текст. Вы можете вставить его, используя среднюю кнопку мыши.
  • Буфер обмена (X11 буфер обмена): Это буфер, которым пользуются большинство графических приложений, и к нему вы обычно получаете доступ с помощью快捷键, таких как Ctrl + C для копирования и Ctrl + V для вставки.

Проверка поддержки буфера обмена в Вим

Первоначально убедитесь, что у вас есть версия Вим, поддерживающая доступ к буферу обмена.

vim --version | grep clipboard
Check Vim Clipboard Support

Если вы видите +clipboard, это означает, что Vim поддерживает буфер обмена. Если вы видите -clipboard, вам нужно установить версию Vim с поддержкой буфера обмена, такую как vim-gtk, vim-gnome, или vim-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 (для выбора строк).
  • Выбор текста: Используйте клавиши для управления курсором или h, j, k, l, чтобы выбрать текст, который вы хотите скопировать.
  • Копирование в буфер обмена: Нажмите «+y» (двойные кавычки, затем плюс и y для вычисления).

Вставка из буфера обмена

Чтобы вставить текст из буфера обмена в Vim, используйте следующую команду:

  • Поместите курсор в место, где вы хотите вставить текст.
  • Щелкните “+p ( двойные кавычки, затем знак плюс и p для помещения).

Для иллюстрации способа копирования и вставки представлен simple example:

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 и другими приложениями.

Доступ к содержимому буфера с помощью терминала

Вы также можете получить доступ к содержимому буфера с помощью команд, таких как xclip или xsel, используя терминал.

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/