2013-05-09 3 views
2

Есть ли комбинация клавиш для копирования строки из редактора vi, а затем вставка ее в терминал. В настоящее время я выбираю текст с помощью мыши, а затем нажимаю crtl + shift + c (я использую настройки по умолчанию KDE), а затем ctrl + shift + v на консоли. Проблема с этой опцией заключается в том, что линия достаточно длинная для переноса. В этом случае copy-paste вставляет дополнительные пробелы, которые я должен исправить после вставки на терминал.Скопируйте строку/несколько строк из редактора vi в строку cmd

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

+0

Возможно, это то, что вы ищете: [как скопировать коды в vi в буфер обмена] (http://stackoverflow.com/questions/5532878/how-to-copy-codes-in-vi-to-clipboard) –

ответ

4

Вы можете yank в буфер обмена X, помещая содержимое в регистр *.

Для этого используйте "*yy на линии, которую вы хотите выдернуть. Затем за пределами vim вы сможете вставить его.

+0

Итак, я должен нажать «а затем *, а затем yy?» Я попробовал, но не работал для меня. –

+0

, когда вы делаете 'vim -version | grep clipboard', вы видите' + буфер обмена' или '-clipboard' – FDinoff

+0

Вам также может понадобиться '+ X11' и/или' + xterm_clipboard'. См. Http://stackoverflow.com/a/10104125/955926 –

0

Если у вас нет доступа к буферу через X или экран или tmux, вы можете записать содержимое буфера во временный файл, затем перейти к терминалу и вызвать $(cat temp-file) или открыть редактор командной строки и читать в файле. Любая оболочка, которую вы используете, вероятно, обеспечивает механизм для открытия редактора в командной строке. В bash с vi-style readline keybindings вы можете ввести v, чтобы получить сеанс vi. Если оболочка не предоставляет эту функциональность, попробуйте другую оболочку.

Смежные вопросы