Я пытаюсь понять, почему, когда я использую "*y или "*x" в одном окне терминала, запущенном vim, и "*p" в другом, то не вставляется то, что я только что скопировал или вырезал, и просто не могу понять, почему.
Я знаю, что * — это буфер системного буфера обмена, но он не будет копировать данные между окнами терминала.
У меня Ubuntu 12.04 с Vim 7.3.
решение1
Используйте :version
, чтобы увидеть, какие функции включены ( +
) или нет ( -
).
Если вы видите -clipboard
и -xterm_clipboard
тогда это не будет работать. Вы можете скомпилировать vim самостоятельно, включая эти функции, или вы можете установить vim-gtk
через:
apt-get install vim-gtk
решение2
Насколько мне известно, это работает только в терминале gvim
, но не vim
в терминале.
решение3
Изhelp.ubuntu.comВеб-сайт:
ПРИМЕЧАНИЕ: Начиная с Ubuntu 6.10 (Edgy Eft), по умолчанию устанавливается урезанная версия Vim под названием "vim-tiny". Чтобы получить полную версию с онлайн-справочной документацией и многими расширенными функциями, такими как сворачивание кода, вам нужно будет установить "vim":
sudo apt-get install vim
Это должно установить (гораздо!) лучшую сборку vim, позволяющую вам выполнять копирование/вставку буфера обмена из терминалов. (Я делаю это постоянно). Вы также можете установить 'vim-gtk' пакет для получения сборки GUI, иногда бывает полезно иметь (я сопоставляю 'Мета-V' чтобы открыть gvim для меня, горячие клавиши для победы!)
(Нет необходимости удалять 'vim-крошечный' пакет, он как бы 'впитывается' в 'вим' и 'vim-gtk' пакеты)