Как скопировать и вставить в режиме терминала Vim? - PullRequest
0 голосов
/ 17 февраля 2019

Я часто хочу скопировать текст из окна :terminal в обычный текстовый буфер.На данный момент я exit сессию оболочки и скопировать из истории.

Должен быть лучший способ для этого.

Ответы [ 3 ]

0 голосов
/ 20 февраля 2019

Установите настройку буфера обмена в .vimrc на использование системного буфера обмена в качестве буфера обмена Vim.Зависит от вашей ОС, она может отличаться, если вы используете Mac OS: set clipboard=unnamedplus

Затем вы можете использовать команду y, чтобы скопировать, а затем вставить в другое приложение только с помощью Cmd + V, не забудьте выйти из вставкирежим терминала, нажав в любом месте или нажмите Ctrl+\ Ctrl+n

0 голосов
/ 06 июня 2019

Можно использовать Shift + Insert в качестве ярлыка для вставки из буфера обмена в текущий сеанс терминала.Настройте отображение как

:tmap <S-Insert> <C-W>"+

. В результате будет вставлен регистр +.В качестве альтернативы используйте регистр *, который иногда лучше работает в MS Windows.

0 голосов
/ 17 февраля 2019

Копировать

Для копирования из окна терминала нажмите CTRL-W N (это заглавная буква N) 1 или CTRL- \ CTRL-N (это , а не заглавная N), чтобы перейти в обычный режим.Оттуда вы можете использовать все обычные команды vim для копирования и вставки материала.

Вход в режим вставки вернет вас обратно в вашу оболочку.


Вставить

Вставитьиз регистра в окне терминала вы должны находиться в режиме работы терминала («вставка»).

Нажмите CTRL-W ", а затем регистр.


:help Terminal-mode говорит нам:

Когда задание выполняется, содержимое терминала контролируется заданием. Это включает в себя положение курсора. В задание отправляются набранные клавиши.содержимое терминала может измениться в любое время. Это называется режимом работы терминала.

Используйте CTRL-W N (или 'termkey' N) для переключения в режим терминала-нормальный. Теперь содержимое окна терминалапод управлением Vim вывод задания приостанавливается. CTRL- \ CTRL-N делает то же самое.

[...]

В режиме Terminal-Normal вы можете перемещать курсор с помощьюобычные команды Vim, визуально помечать текст, вставлять текст и т. д. Но вы не можете изменитьСодержание буфера.Команды, которые запускают режим вставки, такие как 'i' и 'a', возвращаются в режим работы терминала.

См. :h terminal-typing для более полезных команд в окнах терминала.


1 К сожалению, справка vim не сообщает вам, что это заглавная буква N, я сохранил оригинальную запись

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...