Скопировать строку / несколько строк из редактора vi в строку cmd
Есть ли клавиша быстрого доступа, чтобы скопировать строку из редактора vi, а затем вставить ее в терминал. В настоящее время я выделяю текст мышью, а затем нажимаю crtl+shift+c (я использую настройки KDE по умолчанию), а затем выполняю ctrl+shift+v на консоли. Проблема с этой опцией заключается в том, что строка достаточно длинная для переноса. В этом случае copy-paste вставляет лишние пробелы, которые я должен исправить после вставки на терминал.
Это особенно раздражает, когда скопированная строка очень длинная и содержит имена файлов (обычно это команды, используемые для вызова компилятора).
2 ответа
Вы можете вернуться в буфер обмена X, поместив содержимое в *
регистр.
Для этого используйте "*yy
на линии вы хотите дернуть. Тогда вне vim вы сможете вставить его.
Если у вас нет доступа к буферу обмена через X или screen или tmux, вы можете записать содержимое буфера во временный файл, затем перейти в терминал и вызвать $(cat temp-file)
или откройте редактор для командной строки и прочитайте файл. Независимо от того, какую оболочку вы используете, вероятно, предоставляет механизм для открытия редактора в командной строке. В bash с сочетаниями клавиш readline в стиле vi вы можете набрать v, чтобы получить сеанс vi. Если ваша оболочка не обеспечивает эту функциональность, попробуйте другую оболочку.