Я собираюсь нажать Enter, чтобы запустить команду в терминале, но перед этим я хочу скопировать команду в буфер обмена без использования мыши.
Как?
Если вы где-то, кроме терминала, Ctrl+ Homeделает это.
Есть ли способ произвольно выбрать такой текст в терминале?
Редакция:
- Предположим, что использование других программ, как
screen
не является хорошей альтернативой - текст должен быть вставлен за пределы терминала, поэтому Ctrl+ yи подобные последовательности также не решают его
command-line
shortcut-keys
Strapakowsky
источник
источник
Ответы:
Привязать следующий ярлык:
Теперь после использования Crtl+ Pваша строка будет скопирована в буфер обмена. Вы можете вставить его в терминал, используя:
И в любом приложении X, используя среднюю кнопку мыши или Shift+ Insert.
источник
xsel -b
используйте стандартный буфер обмена, то есть тот, который использует Ctrl + V / Ctrl + Shift + V. Также стоит отметить, что этот метод не работает на многострочных командах.Если вы используете одну из оболочек, которая понимает ключи emacs (bash, csh и т. Д.), То вы можете скопировать текущую команду:
control-A
приведет вас к началу строки.control-K
убьет всю строку, которую вы только что вошли.control-Y
вернет текст обратно.Затем вы можете
control-Y
вернуть текст обратно, чтобы вставить текст обратно в качестве ввода в редактор командной строки оболочки.Посмотрите,
man bash
а затем, когда он появится, введите,/emacs
а затем паруn
(далее), чтобы перейти к разделу READLINE.источник
control-U
может вырезать команду с конца ее напрямуюСамое близкое, что я могу придумать, это Ctrl+ u, Ctrl+ y
Это приведет к удалению из курсора в начало строки и вставке из буфера readline. Хотя это не совсем то же самое, что и буфер обмена, но вы сможете вставить его в оболочку, если это то, что вам нужно.
источник
Есть программа под названием screen. Он создает систему текстовых окон, которая позволяет переключаться между несколькими экземплярами. Но это также позволяет вам выбрать текст.
Эта команда устанавливает его.
Затем введите
screen
Вы используете ctr-a для запуска последовательности команд. Затем нажмите esc, и курсор переместится в любом направлении. Нажмите ввод, чтобы начать выделение текста, перейти к конечной точке, снова нажмите ввод. Это скопирует в буфер.
Тогда ctr-a, а затем} вставит
Подробнее о других командах здесь http://www.kuro5hin.org/story/2004/3/9/16838/14935
источник
screen
по разным причинам, поэтому предположим, что у вас обычный терминал Ubuntu. Отредактировал мой вопрос для уточнения.Если вы находитесь внутри vim, вы можете визуально выбрать одну или несколько строк с помощью Shift+, vа затем использовать привязку, например yy, для передачи выделения в xclip .
Добавьте привязку к вашему vimrc:
Для этого требуется установить xclip , он находится в репозитории Debian / Ubuntu aptitude.
xclip
сохраняет stdin, при этом-selection clipboard
опция также помещает stdin в системный буфер обмена.Таким образом, вы также можете использовать
xclip
общий способ из терминала, например, чтобы скопировать весь файл в системный буфер обмена:Если вы также можете создать псевдоним, например:
источник
Термит Даниэля Микаэ "спортивный режим". Нажатие Ctrl + Shift + Пробел активирует его. У него есть vim-подобные привязки клавиш. v или V выберут визуальный режим la vim, y дернет, Esc выйдет из режима выбора.
Скопировано из https://stackoverflow.com/questions/1536757/selecting-text-in-terminal-without-using-the-mouse/29386401
источник