Подтвердить что ты не робот

Как скопировать выделенные строки в буфер обмена в vim

Как скопировать выделенные строки в буфер обмена в vim. Я знаю, как это сделать для всех текстовых файлов, но я хочу сделать это для выбранных строк. Спасибо!

4b9b3361

Ответ 2

Если вы работаете в Linux и используете версию VIm версии 7.3.74 или выше (версия, установленная в Ubuntu 11.10, удовлетворяет этому), вы можете сделать

set clipboard=unnamedplus

который поместит яркий текст в глобальный буфер обмена и позволит вам вставлять его из глобального буфера обмена без необходимости использования каких-либо специальных регистров. В отличие от решения ldigas, это также будет работать с версиями VIm. Не-gui.

Ответ 3

set guioptions+=a

будет,... uhmm, словом, всякий раз, когда вы выберете/задержите что-нибудь, поместите его в буфер обмена (а не Vim's, а глобальную клавиатуру оконной системы). Таким образом, вам не нужно думать о том, чтобы вытащить вещи в специальный реестр.

Ответ 4

Для GVIM нажмите v, чтобы перейти в визуальный режим; выберите текст и нажмите Ctrl+Insert, чтобы скопировать выделение в глобальный буфер обмена.

В меню вы увидите, что клавиша быстрого доступа "+y т.е. нажмите клавишу Shift, затем нажмите ", затем +, а затем отпустите Shift и нажмите y (громоздко по сравнению с Shift + Insert).

Ответ 5

Если вы используете vim в MAC OSX, к сожалению, он поставляется со старым версией и не соответствует настройкам буфера обмена. К счастью, доморощенный может легко решить эту проблему.

установить vim:

brew install vim --with-lua --with-override-system-vim

установить gui verion vim:

brew install macvim --with-lua --with-override-system-vim

перезапустите терминал, чтобы вступить в силу.

добавьте следующую строку в ~/.vimrc

set clipboard=unnamed

теперь вы можете скопировать строку в vim с помощью yy и вставьте его в системную область.

Ответ 6

Установите "xclip", если у вас нет...

sudo apt-get install xclip

Xclip помещает данные в буфер обмена "выделение/выделение", который вы кликнете в среднем клике, в отличие от "ctrl + v"

В то время как в vim используются команды ex:

7w !xclip

или

1,7w !xclip

или

%w !xclip

Затем просто кликнув по середине, чтобы вставить любое другое приложение...

Ответ 7

Если vim скомпилирован с поддержкой буфера обмена, вы можете использовать "*y значение: yank визуально выбранный текст в регистр * ('*' для буфера обмена)

Если поддержки буфера обмена нет, я думаю, что только другой способ - использовать Ctrl+Insert после визуального выбора текста в vim.

Ответ 8

Добавьте следующий код в свой .vimrc:

if has('clipboard')
    if has('unnamedplus')  " When possible use + register for copy-paste
        set clipboard=unnamed,unnamedplus
    else         " On mac and Windows, use * register for copy-paste
        set clipboard=unnamed
    endif
endif

Ответ 9

Я добавил следующую строку в мой .vimrc

vnoremap <F5> "+y<CR>

Это позволяет скопировать выделенный текст в буфер обмена, нажав клавишу F5. Вы должны быть в визуальном режиме, чтобы это работало.