Ответы:
Боюсь, что это невозможно, поскольку PgUp / PgDown не будут отправлены приложениям командной строки, что сделает некоторые из них непригодными для использования. Это хорошая старая функция Unix.
Если вы хотите более удобную прокрутку, я предлагаю использовать less
команду. Используется так:
command-with-lot-of-output | less
Это запустит less
команду с выводом вашей исходной команды. ( Подробнее о передаче результатов в другие программы можно найти здесь: http://www.dsj.net/compedge/shellbasics1.html )
Меньше можно перемещаться с помощью стрелок или PgUp / PgDown. Для вашего удобства он также обеспечивает поиск и многое другое (см. man less
Подробнее). Вы можете выйти less
, просто нажав q
клавишу.
Используйте xterm
и настраивайте сочетания клавиш (в ~/.Xresources
) следующим образом:
xterm*VT100.Translations: #override \n\
<KeyPress>Prior:scroll-back(1,page)\n\
<KeyPress>Next:scroll-forw(1,page)\n\
gnome-terminal
говорит, что PageUp / PageDown для приложений в терминале, и их использование будет сбивать с толку ...
Konsole - это эмулятор терминала для KDE, который предоставляет соответствующую опцию, в которой можно настроить использованиеPage UpиPage Downключи для прямого пейджинга. Нет других эмуляторов терминала, которые я нашел бы так же легко, как Konsole для такой настройки.
Как направить пейджинг
В Konsole выполните следующие действия.
В строке меню перейдите в «Настройки» и нажмите «Настроить текущий профиль ...» (Kubuntu 12.04) или «Изменить текущий профиль ...» (Kubuntu 16.04), и появится окно.
Выберите вкладку «Ввод» (Kubuntu 12.04) или вкладку «Клавиатура» (Kubuntu 16.04), в которой есть раздел «Привязки клавиш» с предопределенными списками привязок клавиш.
Выберите «Default (XFree 4)» и нажмите кнопку «Edit ...», после чего появится другое окно.
Прокрутите вниз и найдите комбинацию клавиш PgDown-Shift-AnyModifier
с выводом \E[6~
. Переименуйте этот вывод в ScrollPageDown
.
Прокрутите вниз и найдите комбинацию клавиш PgUp-Shift-AnyModifier
с выводом \E[5~
. Переименуйте этот вывод в ScrollPageUp
.
Нажмите кнопку «ОК», чтобы закончить и закрыть окна.
Как проверить вывод
На шаге 3 есть «Тестовая зона» для подтверждения вывода для каждого нажатия клавиши.
Нажмите, чтобы перевести фокус в текстовое поле «Ввод:», и нажмите Page Upи Page Downклавиши (по одному).
Убедитесь, что выходные данные совпадают с переименованными.
Или напишите простой скрипт для вывода сообщения в цикле. Я включил свой собственный сценарий следующим образом.
Скопируйте и вставьте следующие строки кода в текстовом редакторе.
#!/bin/bash
echo "Started script"
echo "If no input, then loop"
while true
do {
echo "Hello, world"
echo "Wait 1 second to loop [q to quit]"
read -t 1 -n 1 INPUT && echo
if [ "$INPUT" == "q" ]
then break
else echo "UTC now: $(date -u +%H%M%S)"
fi
continue
}
done
echo "Ended script"
Сохранить как файл ie loop.sh
и запустить скрипт в терминале ie bash loop.sh
(не исполняемый).
Подождите, пока отраженные сообщения не заполнят область просмотра и не начнут прокручивать вывод вниз.
Затем нажмите Page Upи Page Downклавиши, чтобы прокрутить вверх и прокрутить область просмотра вниз.
Я тестировал с помощью Konsole 2.8.5, KDE 4.8.5 в Kubuntu 12.04.
Бонус: комбинация клавиш и выход
Хорошо, бонус ответ для уточнения. Можно задаться вопросом, почему мне пришлось редактировать эти комбинации клавиш, а не другие. Я понял это раньше, протестировав несколько типов клавиатуры.
Ниже приведены комбинация клавиш по умолчанию и ее вывод, которые были определены с помощью «Тестовой зоны» в Konsole.
Для основных клавиш Page Up / Page Down (включая вариант клавиатуры, который требует нажатия Fnклавиши, также называемой Fn + PgUp / Fn + PgDn):
Сочетание клавиш: PgDown-Shift-AnyModifier
Выход:\E[6~
Сочетание клавиш: PgUp-Shift-AnyModifier
Выход:\E[5~
Для вторичных клавиш Page Up / Page Down (сочетание клавиш по умолчанию в терминале, для которого требуется сочетание клавиш ShiftShift + PgUp / Shift + PgDn):
Сочетание клавиш: PgDown+Shift-AppScreen
Выход:ScrollPageDown
Сочетание клавиш: PgUp+Shift-AppScreen
Выход:ScrollPageUp
Обратите внимание, что знаки минус -
и плюс +
различаются для каждого ключевого слова для первичного и вторичного ключей. Именно так нажатия клавиш переводятся в эквивалентные символы, по крайней мере в Konsole.
Однако я не уверен, что эти эквивалентные символы на самом деле поняты другими эмуляторами терминала. Это насколько я знаю по собственному опыту.
решение суда
Для опытных пользователей, которым не нравится работать с различными файлами конфигурации и такими утомительными обходными путями, Konsole легко покорит ваше сердце. Похоже, что никто не обращал внимания на этот уровень настройки, предлагаемый Konsole и KDE в течение последних четырех лет. Как странно.
PgDown
не работала по какой-то причине.
ScrollPageDown
, ScrollPageUp
с ранее заменен \E[6~
, \E[5~
для PgDown+Shift-AppScreen
и PgUp+Shift-AppScreen
комбинацию клавиш соответственно. Важно нажать «ОК» для применения настроек.