18

Обычный vim yank и paste работает только в одном и том же окне (но работает с файлами и командами close/save). Можно ли заставить его работать через терминалы (выдернуть из окна в одном терминале и вставить в другом) и если да, то как?

2 ответа2

29

Вероятно, самое простое, что вы можете попробовать, - это установить set clipboard=unnamed в вашем .vimrc и перезапустить ваши vim-сессии.

Это позволяет вам запускать yank (например, yy) в одном окне, а put (например, p) в другое окно просто будет работать, потому что все сеансы vim будут совместно использовать один и тот же буфер выбора X.

С другой стороны, ваш буфер янки будет перезаписан, как только вы выделите какой-либо текст в любом другом окне любого приложения.

С другой стороны, это также означает, что все, что вы дергаете в vim, теперь может быть вставлено в любое приложение с помощью среднего щелчка.

Если вам не нравится этот способ, вы можете набрать "+ или "* перед тем, как вставлять и вставлять команды, например "+yy чтобы восстановить строку.

Формы + взаимодействуют с буфером обмена ("+y подобен Ctrl+C, "+p подобен Ctrl+V).
* Формы * взаимодействуют с буфером выбора ("*y - как щелчок левой кнопкой мыши и перетаскивание, "*p - как средний щелчок »).

Подробности смотрите в разделе Выбор GUI, поддержка выбора X11, параметры буфера обмена и мыши .

0

Если вы хотите скопировать весь файл в целевой файл.

Откройте целевой файл в vim.

Поместите курсор в нужное место и введите следующее:

:r /path_to_file/file.ext

Это скопирует весь файл туда, где находится ваш курсор ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .