Можно ли использовать клавиатуру для выделения текста в окнах терминала, которого нет в редактируемой в данный момент строке? (например, чтобы скопировать часть предыдущего вывода команды).
3 ответа
Насколько я знаю, ни один из эмуляторов терминала "большой тройки" не может этого сделать, но и screen
и tmux
предлагают буфер обратной прокрутки, к которому вы можете получить доступ через клавиатуру.
Экран GNU
Префиксная клавиша на screen
- Ctrl+A по умолчанию, но все это настраивается, поэтому с конфигурацией по умолчанию:
Войдите в режим копирования с помощью Ctrl+A [.
Переместите курсор с помощью движений
vi
: h, j, k, l, 0, ^, $, H, M, L, w, b, e, / ,?, g и G все работают (см.man screen
подcopy
для получения дополнительной информации о привязках клавиш).Начните выбирать с помощью пробела, двигайтесь вокруг и снова остановите выбор с помощью пробела. Это выйдет из режима копирования.
Вставьте выделенный текст с помощью Ctrl+A ].
tmux
tmux
ведет себя примерно так же, за исключением того, что по умолчанию он использует несколько разных ключей:
Войдите в режим копирования с помощью Ctrl+B [.
Переместите курсор с помощью ←, ↓, ↑, →, PgUp, PgDown и т.д. (См.
man tmux | less -p '^WINDOWS AND PANES'
для получения списка привязок режима копирования).Начните выделение с помощью Ctrl+ Пробел, переместитесь и остановите выделение с помощью Meta+ w. Это выйдет из режима копирования.
Вставьте выделенный текст с помощью Ctrl+B ].
Зависит от терминала, который вы используете. Это возможно в режиме оболочки в emacs
.
Это не совсем то, что вы просите, но если вы перенаправите вывод через xclip, вы можете извлечь его из буфера обмена и отредактировать. Я никогда не думал об использовании этого, чтобы минимизировать использование клавиатуры.
$ echo "this is the primary buffer" | xclip -selection "primary"
$ cat << EOF > primary.txt
> this is the primary buffer
> EOF
В gnome-Terminal я могу использовать shift-insert для вставки в here-файл. Со страницы руководства xclip -selection "clipboard" делает реальный буфер обмена вместо буфера x.
Кажется, я не могу заставить его работать с ти ... хммм ... это очень важно.