У меня были некоторые проблемы с копированием и вставкой текста из vim в терминале в документ Google Docs (далее - диск) (далее GDd) в браузере FF (с Vimperator).
Примечание:
:version
отображает как +clipboard
, так и +xterm-clipboard
То, что я пробовал и где оно мне досталось:
ggvGy
позволяет мне: Ctrl+v
или Shift+Insert
Insert
xclip -o
:%! !xclip -i
(или :first, last
) :set clipboard=unnamed
) на неназванное не помогает "+y
или "*y
для всего текста файла действительно помогает Итак, вопрос (на самом деле это три, скажем, «разделить», и я буду):
unnamed
и *
регистры одинаковыми? Linux имеет два буфера обмена (названный "основной буферный" и "вторичный буфер"). Каждый используется для мыши скопировать/вставить, и другой для Ctrl-C/Ctrl-V. Так, при выборе чего-то (скажите для удаления его), содержание того, что Вы вставляете буфер обмена с помощью Ctrl-C, все еще там неповреждены.
Если Вы хотите скопировать, не дергая попытку выбрать Ваш текст, желаемый, чтобы скопировать и нажать CTRL+SHIFT+C затем CTRL+SHIFT+V к скопировать/вставить этому
Я надеюсь, что это помогло бы
По умолчанию буфер обмена заполняется, только если вы делаете визуальный выбор (используя v или, что эквивалентно, вашу мышь). (Во всем последующем мы говорим о «старом» буфере обмена X, основном буфере). Чтобы повлиять на буфер обмена с помощью «y» даже без визуального выделения, необходимо :set clipboard=unnamed
. Я не знаю, почему в вашем первом примере xclip -o не показывает содержимого; должно. У меня есть гипотеза об этом, однако, см. Ниже.
У меня 10.04. Я начинаю vim.
:set clipboard
clipboard=autoselect,exclude:cons\|linux
Я набираю случайный текст:
asd fa sdf
asdf
Теперь я делаю ggVGy
. В другом окне терминала я набираю
xclip -o
xclip показывает мне правильно содержимое файла. Я могу вставить его в любое место с помощью средней кнопки мыши, например, здесь:
asd fa sdf
asdf
То же самое, если я просто начну визуальный выбор с «v», перемещаюсь и дергаю с «y». Однако, если я сделаю «уу» (восстановить текущую строку без визуального выделения), буфер обмена не обновится.
Хорошо, теперь я делаю
:set clipboard=unnamed
Я делаю ggyy
(перейти к первой строке, вернуться к безымянному регистру без использования визуального выбора). Теперь xclip -o показывает «asd fa sdf», и я могу вставить его средней кнопкой мыши; буфер обмена X был заполнен командой yank.
Итог
Не касаясь vimperator, он работает в моей системе, как и ожидалось. Пожалуйста, повторите вышеизложенное (без использования vimperator, см. Ниже), чтобы убедиться, что когда вы делаете ggVGy
, xclip -o
показывает содержимое (в отличие от вашего примера).
Моя гипотеза состоит в том, что vimperator по какой-то причине сбрасывает буфер обмена X. Попробуйте отделить обычную сессию vim от vimperator:
Если вы выбираете что-то в терминале с помощью мыши (левая кнопка, без Ctrl-Shift-C), можете ли вы вставить ее средней кнопкой to vimperator?
Если вы визуально выбираете что-то с помощью vi, можете ли вы вставить его с помощью средней кнопки мыши в gedit (по-видимому, вы можете) и увидеть это с помощью xclip -o
] (вы говорите, что не можете, но я в это не верю :-); в противном случае средняя кнопка мыши не будет работать)?