MyTetra Share
Делитесь знаниями!
Ответ по копированию
Время создания: 13.11.2019 08:46
Раздел: INFO - System - Linux - vim
Запись: wwwlir/Tetra/master/base/157360598483jyra3qe4/text.html на raw.githubusercontent.com

Регистры "* и "+ предназначены для системного буфера обмена (:help registers). В зависимости от вашей системы они могут делать разные вещи. Например, в системах, которые не используют X11, таких как OSX или Windows, регистр "* используется для чтения и записи в системный буфер обмена. В системах X11 могут использоваться оба регистра. См :help x11-selection для получения дополнительной информации, но в основном "* аналогичен первичному выделению X11 (которое обычно копирует то, что вы выбираете мышью, и вставляет его средней кнопкой мыши), а "+ аналогично выделению X11 CLIPBOARD (которое является собственно буфером обмена).

Если все это у вас над головой, попробуйте использовать "*yy или "+yy чтобы скопировать строку в системный буфер обмена. Предполагая, что у вас есть соответствующие параметры компиляции, один или другой должен работать. Вы можете переназначить это на что-то более удобное для вас. Например, вы можете поместить vnoremap <Cc> "*y в ваш ~/.vimrc, чтобы вы могли визуально выбирать и нажимать Ctrl + c, чтобы вернуться в буфер обмена вашей системы.

Имейте в виду, что копирование/вставка из системного буфера обмена не будет работать, если :echo has('clipboard') возвращает 0. В этом случае vim не скомпилирован с +clipboard и вам придется установить другую версию или перекомпилируйте это. Некоторые дистрибутивы Linux предоставляют минимальную установку vim по умолчанию, но, как правило, если вы устанавливаете пакет vim-gtk или vim-gtk3 , вы можете получить дополнительные функции.

Вы также можете захотеть взглянуть на параметр 'clipboard' описанный по адресу :help cb. В этом случае вы можете :set clipboard=unnamed :set clipboard=unnamedplus или :set clipboard=unnamedplus чтобы все операции удаления/удаления автоматически копировались в системный буфер обмена. Это может быть неудобно в некоторых случаях, когда вы сохраняете что-то еще в буфере обмена, так как это переопределит его.

Для вставки вы можете использовать "+p или "*p (опять же, в зависимости от вашей системы и/или желаемого выбора) или вы можете сопоставить их с чем-то другим. Я печатаю их явно, но часто оказываюсь в режиме вставки. Если вы находитесь в режиме вставки, вы все равно можете вставить их с правильным отступом, используя <Cr><Cp>* или <Cr><Cp>+. Смотрите :help i_CTRL-R_CTRL-P.

Также стоит упомянуть параметр vim paste (:help paste). Это переводит vim в специальный "режим вставки", который отключает несколько других опций, позволяя легко вставлять в vim с помощью эмулятора терминала или знакомого ярлыка мультиплексора. Просто введите :set paste чтобы включить его, вставьте содержимое, а затем введите :set nopaste чтобы отключить его. Кроме того, вы можете использовать опцию pastetoggle чтобы установить код клавиши, который переключает режим (:help pastetoggle). Я рекомендую использовать регистры вместо этих опций, но если они все еще слишком страшны, это может быть удобным обходным путем, пока вы совершенствуете свои vim отбивные.

Смотрите :help clipboard для более подробной информации.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования