Как скопировать текст из командной строки Vim - PullRequest
1 голос
/ 10 мая 2019

Как вставить в командную строку vims спросили здесь здесь . Но как я могу скопировать из командной строки vim?

Например:

: python import sys; печать (sys.executable)

Теперь я хочу скопировать эту строку в буфер обмена для вставки в другой редактор.

Ответы [ 3 ]

2 голосов
/ 10 мая 2019

Да, это возможно.

Если вы выполнили команду :foo, текстовая строка команды будет сохранена в регистре :, вы можете увидеть ее по :echo @:.

Чтобы иметь это значение в буфере обмена, вы просто позволяете регистру + иметь то же значение.

Так что :let @+=@: или call setreg('+',@:) должны вам помочь.

2 голосов
/ 10 мая 2019

Вы можете назначить регистру содержимое другого регистра:

:let @+ = @:

Назначит в системный буфер обмена (@+) последнюю выполненную команду : (@:).

Однако, это станет вашей последней выполненной командой. Если вы хотите сохранить свою команду python последней, вы можете сделать следующее:

Сначала откройте историю команд:

q:

Перейдите в строку команды, которую вы хотите скопировать, затем нажмите ее в системном регистре (визуально выбирает всю строку и восстанавливает ее):

"+yy

Это скопирует всю строку с символом новой строки в конце, если вы просто хотите команду без новой строки, вы можете сделать:

v$h"+y

Наконец, закройте историю команд:

:q
1 голос
/ 10 мая 2019

q: открыть окно командной строки, оно заполнено историей командной строки, вы можете скопировать через "+yy.

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