Я могу кошку файл, копировать и вставлять текст с помощью средней кнопки или Shift-вставить.
Как мне скопировать текст в vim и вставить его из системного буфера обмена?
У Вас должен быть 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 для вставки.
Довольно интересное решение прибывает от этот вопрос. Установите xclip, затем передайте вывод по каналу команды к xclip (cat file | xclip -selection clipboard
, например) и затем вставьте его где угодно, (если это находится в терминале - использование Ctrl Сдвиг V ). Теперь, оказывается, что можно на самом деле сократить ту команду к xclip -sel clip
, который не точно очевиден из чтения страницы справочника или примеров там.
У меня была проблема, потому что моя энергия не поддерживала буфер обмена:
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 соответственно.