vim и системный буфер обмена

7

Я могу копировать файл, копировать и вставлять текст с помощью средней кнопки или вставки вставки.

Как скопировать текст в vim и вставить его из системного буфера обмена?

    
задан grantbow 24.04.2015 в 05:52
источник

2 ответа

10

Вам нужно иметь Vim с компонентами clipboard и xtermclipboard , скомпилированными в. В Ubuntu они доступны только с пакетами GUI vim ( vim-gnome , vim-gtk , vim-athena и т. д.).

Как только вы установите один из них, вы можете скопировать (и вставить из) регистры буфера обмена ( * и + ). Из этого весьма информативного сообщения на Vi и Vim :

  

Для X11 систем (т.е. Linux и большинства других UNIX   системы) имеется 2 буфера обмена, которые не зависят друг от друга:

     
  • PRIMARY - это копирование при выборе и может быть вставлено с помощью средней кнопки мыши.
  •   
  • CLIPBOARD - скопирован с (обычно) ^C и вставлен в ^V (это похоже на MS Windows).
  •   

Vim имеет 2 специальных регистра, соответствующих этим буферам обмена:

     
  • * использует PRIMARY; Мнемоника: s tar s выберите (для copy-on- s выберите)
  •   
  • + использует CLIPBOARD; Мнемоника: CTRL + C (для общего ключевого слова)
  •   

Чтобы скопировать в регистр, перед командой копирования ( y ) следует указать " и имя регистра (например, * ). "*y , затем нажмите среднюю кнопку для вставки или "+y и Shift Вставить для вставки.

    
ответ дан muru 24.04.2015 в 06:02
источник
2

Довольно интересное решение исходит из этого вопроса. Установите xclip, затем выведите команду команды в xclip (например, cat file | xclip -selection clipboard ), а затем вставьте ее в любом месте (если это в терминале - используйте Ctrl Shift V ). Теперь, оказывается, вы действительно можете сократить эту команду до xclip -sel clip , что не совсем очевидно из чтения страницы руководства или примеров там.

    
ответ дан Sergiy Kolodyazhnyy 24.04.2015 в 06:06
источник

Ознакомьтесь с другими вопросами по меткам