2

Я хочу скопировать текст из Vim, например. выбрав в visual mode , затем ctrl+insert и я хотел бы скопировать текст в системный буфер, чтобы я мог вставить его в любом месте, например, с помощью, например, ctrl+v Возможно ли это как-то?

Проблема возникает, когда мне нужно скопировать длинный текст из окна Vim в буфер. Я не могу просто выделить все мышью, а затем скопировать, потому что текст не помещается в окне.

3 ответа3

2

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

Основной буфер обмена - это * , поэтому вы можете выделить его в визуальном режиме, а затем набрать "*y . Если вы используете X11, вы можете скопировать в буфер X11, используя регистр + . Наконец, вы можете переназначить регистр по умолчанию в регистр буфера обмена с помощью :set clipboard=unnamed . Если вы сделаете это, то любые копии, сноски или убийства будут автоматически попадать в системный буфер обмена без предварительного указания регистра вручную.

2

Визуальный выбор (v, V или CTRL+V) можно автоматически скопировать в выбор X11 (* буфер).

В режиме без графического интерфейса параметр буфера обмена управляет этим (поддерживается только в том случае, если +xterm_clipboard появляется при вводе vim --version). В режиме GUI guioptions контролирует его.

Это заставляет все варианты визуального режима автоматически переходить к первичному выбору X11:

set clipboard+=autoselect<br>
set guioptions+=a

Это выключает это:

set clipboard-=autoselect<br>
set guioptions-=a

Смотрите:help 'clipboard' (требуются одинарные кавычки).

0

В OS X вы можете использовать инструменты командной строки pbcopy/pbpaste для достижения этой цели.

Например, чтобы скопировать текущую строку, запустите:

:.!pbcopy "Copy current line clipboard

Чтобы скопировать весь файл:

:!echo "%:p" | pbcopy

Или, чтобы скопировать выделенный текст (используя визуальный режим через: v/V), введите !pbcopy после выделения текста, поэтому он становится :'<,'>!pbcopy , поэтому он скопирует текст в буфер обмена.

См .: Mac OS X Совместное использование буфера обмена

Для Linux используйте xclip , gpm или что-то подобное.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .