Выбрать / скопировать / вставить в терминал, используя только клавиатуру

14

Я ищу способ выбрать , скопировать и вставить текст в терминале полностью без мыши.

Я использовал tmuxдо сих пор, но я считаю, что его сочетания клавиш немного сложны для повседневного использования копирования и вставки, и сейчас я ищу альтернативы.

У вас есть предложения?

Чтобы быть ясным, речь идет не о передаче в буфер обмена, а о выборе текста, как это возможно, например, в tmux!

Morten
источник
Смотрите мой ответ здесь: askubuntu.com/a/756348/295286 . Я сделал функцию, которая будет копировать любой текст перед буфером обмена. Это работает для копирования команд. Что касается выхода, то он должен быть передан по трубопроводу
Сергей Колодяжный
1
Ладно, ребята, это не имеет ничего общего с stdout - речь идет о перемещении курсора к некоторому предыдущему напечатанному тексту. Выберите его и скопируйте / вставьте в текущую строку ввода в терминале: -D Извините, что не уточнил описание.
Мортен
Лучший способ добавить дополнительную информацию к вашему вопросу - отредактировать ее с помощью кнопки редактирования . Это лучше видно таким образом, и комментарии в основном для вторичных, временных целей. Комментарии удаляются при различных обстоятельствах. Все, что важно для вашего вопроса, должно быть в самом вопросе.
Гюнтберт,

Ответы:

3

Подумайте xclip, какой интерфейс командной строки к буферу обмена X и доступен с sudo apt-get install xclip.

Возможно, вы заметили, что в Ubuntu, если вы выделите какой-то текст, а затем нажмете среднюю кнопку мыши, этот текст будет вставлен в любой фокус ввода. xclipпрямо в этом, поэтому, если вы где-то запустите seq 10 | xclip -iсреднюю мышь, вы вставите цифры от 1 до 10. Если вы выберете мое имя пользователя, а затем запустите xclip -o | cowsay, вы получите корову, произносящую слово «ymbirtt».

ymbirtt
источник
3
Я удивлен, что этот ответ принят. @morten особо отметил, что речь идет не оtmux передаче в буфер обмена, а о выборе текста, как это возможно, например . Похоже, ответы @daisy и @ blue112 на месте.
Тэд Лиспи
1
@ TadeuszŁazurski, я тоже, если честно. xclipэто действительно хороший инструмент , который дополняет существующий ответ, но я не уверен , что это ответ
ymbirtt
10

Я всегда использую Ctrl+ Shift+ Cи Ctrl+ Shift+ Vдля копирования и вставки в мой (не tmux) терминал.
Вы можете изменить эти сочетания клавиш в настройках клавиатуры вашего терминала (не Tmux).

Однако, если вы хотите продолжать использовать tmux, вы также можете изменить сочетания клавиш tmux, добавив команды в ~/.tmux.conf. просто добавьте в этот файл следующее:

bind-key -n [shortcut. for example Ctrl+v is C-v] [what you want to do. for example 'new-window' etc]

Это будет выглядеть так

bind-key -n C-t new-window

Вам не нужен ключ префикса команды для выполнения команд в ~/.tmux.confфайле.

Для получения дополнительной информации о вещах, доступных для ~/.tmux.confпроверки по этой ссылке

С помощью этого можно выполнить очень простое копирование и вставку, однако для большей полезности я рекомендую использовать конфигурацию копирования / вставки в стиле Vim.
Включение копирования / вставки в стиле Vim можно выполнить с помощью этого файла конфигурации или другого файла конфигурации . Однако они требуют использования префиксного ключа.
Кто-то даже сделал расширение tmux, чтобы упростить действие копирования / вставки в системный буфер обмена в tmux. Это может стоить посмотреть.

Если вам нужна альтернатива для Tmux, вы можете попробовать dvtm ( sudo apt-get install dvtm dtach). Я не использовал это сам, но похоже, что у него есть подобные варианты.

Akisame
источник
4

Чтобы скопировать, используйте Ctrl+ Shift+C

Чтобы вставить, используйте Ctrl+ Shift+ Vили Shift+insert

Еще один способ сделать это:

Сначала запустите команду screen, после чего можете сделать следующие шаги:

  • Нажмите Ctrl+ a+ EscЭто переведет экран в режим копирования.
  • Теперь переместите курсор в начало раздела, чтобы скопировать и нажать Enter.
  • Затем переместите курсор в конец раздела, чтобы скопировать и нажмите Enter.
  • Теперь нажмите Ctrl+ a+, ]чтобы вставить.
маргаритка
источник
5
Отлично, но чтобы скопировать что-то, сначала нужно выбрать его. Как вы выбираете текст без мыши?
Ponytech
1
@Ponytech Я пытался сделать в gnome-терминал без выполнения какой-либо команды, как, screen но я не мог.
Дейзи
Использование экрана - единственный способ, который я пока нашел. Спасибо за обновление
Ponytech
2

Вы можете использовать screenрежим выбора.

Введите сеанс экрана с помощью screenкоманды.

Затем используйте Ctrl+ aи, Escчтобы войти в режим выбора.

Затем вы можете переместить курсор, выбрать текст с помощью space, выйти из режима выделения и вставить его, когда хотите, с помощью Ctrl+ aи ].

Более подробная информация здесь: http://web.mit.edu/gnu/doc/html/screen_11.html

blue112
источник