Как мне сделать следующее?
Скопировать весь текст из vim и вставить его во внешнюю программу, например, почтовую программу Outlook? Я пробовал +y
, gg*yG
но вставка не работает.
решение1
Для этого требуется, чтобы vim имел интеграцию буфера обмена X11. Вы можете проверить это, выполнив vim --version
и поискав +xterm_clipboard
( +clipboard
не так ли, это для использования GUI, что на самом деле может быть тем, что вам нужно, в вопросе не указан GUI или терминал).
Если у вас его нет +xterm_clipboard
, вам придется скачать версию vim, в которой он есть (или перекомпилировать самостоятельно).
Если у вас это есть, то это здорово. Продолжим.
X11 имеет 2 "буфера обмена". Есть буфер выбора, а затем настоящий буфер обмена. Буфер выбора — это выделение/щелчок средней кнопкой мыши. Буфер обмена — это обычные CTRL+C/CTRL+V.
Чтобы скопировать текущую строку в буфер выбора, выполните "*yy
. (да, это shift+кавычка shift+8 yy)
Чтобы скопировать в буфер обмена, выполните "+yy
.
(можно использовать другие спецификаторы выбора, например "+yG
, или "+y
в визуальном режиме)
Если вы хотите сделать один из них значением по умолчанию, чтобы можно было просто использовать yy
, без бита "+
/ "*
, вы можете добавить один из следующих параметров в свой ~/.vimrc
:
set clipboard=unnamed
или
set clipboard=unnamedplus
Вы не указали, подключаетесь ли вы к машине удаленно, но если так, вы все равно можете это сделать, но вам понадобится включенный переадресация X11 и работающий SSH. Однако я предупрежу вас, что это может привести к тому, что запуск vim может занять несколько секунд.