Я пытаюсь скопировать часть текста к системному буферу обмена. Во-первых, я делаю визуальный выбор: выбрать "
затем +
затем y
.
Я затем получаю сообщение 7 lines yanked
. Когда я нажимаю p
, данные вставляются в vim
; но, когда я пытаюсь вставить данные к любой другой программе - никакой результат. Как я решаю эту проблему?
Тип в терминале:
$ vim --version | grep -e version -e +mouse.* -e +clipboard
Идеально Вы имеете huge
версия, установленная с функцией буфера обмена, а также многими скомпилированными функциями мыши - в. На всякий случай, сообщите о результате путем редактирования вопроса.
vi/vim используют другой буфер (буферы) обмена от Вашего нормального GUI: т.е. это имеет свой очень собственный буфер обмена, поэтому при попытке скопировать/вставить от открытого для энергии файла до где-нибудь вне энергии с Вашей мышью с помощью CTRL+x/CTRL+v, то Вы закончите с.... ничего.
I) попытайтесь использовать свою мышь (после этого, я доберусь до Вашего точного вопроса),
Откройте файл в энергии и тексте выделения с Вашей придавленной левой кнопкой мыши. Нажмите на выделенный текст с правильной кнопкой. Если Вы не видите включенный выбор контекстного меню "копии", это, вероятно, означает, что Вы установили
set mouse=a
где-нибудь в Вашей vi/vim конфигурации. Эта опция позволяет Вам использовать свою мышь в 4 наиболее распространенных режимах энергии: нормальный (вышел), вставьте, визуальный, режимы cmd-строки.
Ввести :help mouse
на Вашей vi/vim сессии (нормальный режим), если Вы хотите знать больше. Если Вам включили ту опцию, можно все еще скопировать в vi и вставить внешнюю энергию с мышью. Для этого просто нажмите сдвиг, поскольку Вы выделяете свой текст в vi/vim. Ваша vi/vim оболочка сессии будет вести себя как будто set mouse=a
не был установлен только на время той задачи. Это упоминается как "xterm обработка" мыши. Вы встретитесь с тем выражением, если Вы решите считать технический материал на этом.
II) используйте регистры от визуального режима в vi/vim
Существует два регистра, которые можно вызвать от cmd-строки, в то время как в vi/vim, поскольку Вы пытаетесь скопировать что-то для позже вставки его вне энергии. Я назову их "* и" + регистры (не их настоящие имена).
"*y
, затем можно обычно вставлять снаружи vi/vim, говорить в .odt файле, с помощью средней кнопки мыши. Другой регистр НЕ затронут."+y
, Вы на самом деле дергаете к и впоследствии вставляете от того, что назвало "буфер обмена". В этом случае Вы ударите то, что было в буфере обмена до того момента. Для вставки снаружи vi/vim просто используйте обычный CTRL+v'.Примечание: После вставки, никакой изменения состояния регистров. Они все еще содержат тот же материал как прежде. Можно вернуться к vi/vim и вставить их содержание с также "*p
или "+p
(после курсора) или возможно также просто p
.
Можно на самом деле изменить вышеупомянутое поведение, заставив все вставить к буферу обмена. Сделать :help clipboard
из нормального vi/vim режима для обнаружения больше о буфере обмена. Обычно дифференцировавший регистры, доступные с также "*y
или "+y
жестоко практично, потому что, когда Вы хотите сохранить то, что уже находится в буфере обмена, Вы просто используете "*y
дергать или "*d
отключать-> никакое разрушение к буферу обмена там!
Так или иначе используя "+y
или "+d
не работает на Вас, как, кажется, случай, это, возможно, потому что Вы НЕ установили всю скомпилированную функцию, в которой Вы нуждаетесь для своей энергии. В особенности, если Вы не имеете функции "буфера обмена", разрешения и устанавливаете пакет vim-gtk
от центра программного обеспечения Ubuntu, или:
$ sudo apt-get install vim-gtk
Это настроит Вас приятно, наряду с дополнительными хорошими дополнениями для интерактивного рассмотрения файлов, записанных в C, Python, латексе, Perl, Ruby и других, не говоря уже о локальном документе HTML для энергии при необходимости в нем.
... который Вы делаете, если Вы собираетесь сделать что-нибудь с энергией действительно.;-)
Если Вы делаете это, Вы могли бы хотеть закрыть все свои сеансы энергии и возможно даже получить Ваш .vimrc
файл, хотя я не ясен на этом. Выходить из системы и въезжает задним ходом, не причинит боль все же.
И это просто царапало поверхность vi..
Править:
Для раздела I): можно устроить автоматическое основное устройство X11 "*y
регистр, копирующий после выбора с мышью в визуальном режиме, включением set go+=a
в Ваш ~/.vimrc
файл.
Для раздела II): Если Вам скомпилировали функцию буфера обмена в Вашей установке энергии, можно отобразить копирование буфера обмена на CTRL+c путем вставки :vmap <C-C> "+y
в Вашем ~/.vimrc. После этого необходимо будет только выделить текст, сделать CTRL+c для копирования в буфер обмена и CTRL+v для вставки где угодно снаружи vi/vim. Не больше "+y
необходимый здесь в этом случае. Это определенное отображение только допустимо для визуального режима.