Vim и системный буфер обмена

Я могу кошку файл, копировать и вставлять текст с помощью средней кнопки или Shift-вставить.

Как мне скопировать текст в vim и вставить его из системного буфера обмена?

9
задан 24 April 2015 в 09:05

3 ответа

У Вас должен быть Vim с clipboard и xtermclipboard функции, скомпилированные в. В Ubuntu они только доступны с энергией пакеты GUI (vim-gnome, vim-gtk, vim-athena, и т.д.).

После того как Вы устанавливаете один из них, можно скопировать в (и вставить от) регистры буфера обмена (* и +). Из этого очень информативного сообщения на Vi и Vim:

Для основанных на X11 систем (т.е. Linux и большинство других подобных UNIX систем) существует 2 буфера обмена, которые независимы друг от друга:

  • ОСНОВНОЙ - Это - копия на выборе и может быть вставлено со средней кнопкой мыши.
  • БУФЕР ОБМЕНА - Это копируется с (обычно) ^C, и вставляемый с ^V (Это похоже на MS Windows).

Vim имеет 2 специальных регистра, соответствующие этим буферам обмена:

  • * ОСНОВНОЕ использование; мнемосхема: звезда является выбором (для копии на выборе)
  • + БУФЕР ОБМЕНА использования; мнемосхема: CTRL + C (для общего keybind)

Для копирования в регистр Вы предшествуете команде копии (y) с " и название регистра (*, например). "*y, затем щелкните средней кнопкой для вставки, или "+y и ShiftInsert для вставки.

11
ответ дан 24 April 2015 в 19:05

Довольно интересное решение прибывает от этот вопрос. Установите xclip, затем передайте вывод по каналу команды к xclip (cat file | xclip -selection clipboard, например) и затем вставьте его где угодно, (если это находится в терминале - использование Ctrl Сдвиг V ). Теперь, оказывается, что можно на самом деле сократить ту команду к xclip -sel clip, который не точно очевиден из чтения страницы справочника или примеров там.

3
ответ дан 24 April 2015 в 19:05

У меня была проблема, потому что моя энергия не поддерживала буфер обмена:

vim --version | grep clip
-clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard

Я установил гнома энергии (которые поддерживают буфер обмена), и затем проверенный снова:

vim --version | grep clipboard
+clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      +mouseshape      +startuptime     +xterm_clipboard

Теперь я могу скопировать и вставить использование "+y и" +p соответственно.

2
ответ дан 23 November 2019 в 04:52

Другие вопросы по тегам:

Похожие вопросы: