Заставить терминал использовать pageup / pagedown вместо shift-pageup / shift-pagedown?

Я устал от shift-pgup, чтобы перебирать страницы в терминале gnome, командной строке, терминаторе, guake и т. Д.

Есть ли способ легко заставить эти приложения использовать прямые клавиши перемещения вверх и вниз для перемещения по страницам?

12
задан 28 July 2012 в 01:34

4 ответа

Боюсь, что это невозможно, так как PgUp / PgDown не будут отправлены приложениям командной строки, что сделает некоторые из них непригодными для использования. Это хорошая старая функция Unix.

Если вы хотите более удобную прокрутку, я предлагаю использовать команду less. Он используется следующим образом:

command-with-lot-of-output | less

Это запустит команду less с выводом вашей исходной команды. ( Подробнее о передаче результатов в другие программы можно найти здесь: http://www.dsj.net/compedge/shellbasics1.html )

Меньше можно перемещаться с помощью стрелок или PgUp / PgDown. Для вашего удобства он также обеспечивает поиск и многое другое (подробнее см. man less). Вы можете выйти из less, просто нажав клавишу q.

0
ответ дан 28 July 2012 в 01:34

Вы можете использовать команду more следующим образом:

command-with-lots-of-output  |  more

это запустит исходный вывод вашей команды с большим количеством.

more можно перемещаться с помощью «пробела». Просто нажмите пробел и увидите вывод команды в виде страниц.

0
ответ дан 28 July 2012 в 01:34

Используйте 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 предназначен для приложений в терминале, и их использование может привести к путанице. .

0
ответ дан 28 July 2012 в 01:34

Konsole является эмулятором терминала для KDE, который предоставляет соответствующую возможность, в которой может быть настроен для использования клавиш Page Up и клавиш Page Down для прямой подкачки страниц. Нет никаких других эмуляторов терминала, которые я нашел столь же легким как Konsole для такой настройки.

Как направить подкачку страниц

В Konsole сделайте следующие шаги.

  1. В строке меню перейдите к "Настройкам" и нажмите "Configure Current Profile..." (Kubuntu 12.04), или "Изменяют Текущий Профиль..." (Kubuntu 16.04) и окно появятся.

  2. Нажмите на вкладку (Kubuntu 12.04) или "Keyboard" вкладки "Input" (Kubuntu 16.04), который имеет раздел под названием "Привязки клавиш" с предопределенными списками привязок клавиш.

    Key Bindings in Konsole

  3. Выберите "Значение по умолчанию (XFree 4)" и нажмите кнопку "Edit...", затем другое окно появится.

  4. Прокрутите вниз и ищите сочетание клавиш PgDown-Shift-AnyModifier с выводом \E[6~. Переименуйте этот вывод к ScrollPageDown.

  5. Прокрутите вниз и ищите сочетание клавиш PgUp-Shift-AnyModifier с выводом \E[5~. Переименуйте этот вывод к ScrollPageUp.

  6. Нажмите кнопку "OK", чтобы закончить и закрыть окна.

Как протестировать вывод

На шаге 3 существует "Зона испытания" для подтверждения вывода для каждого нажатия клавиши.

  • Нажмите для обеспечения фокуса во "Входе": текстовое поле и нажимает Page Up и клавиши Page Down (по одному).

  • Подтвердите вывод для совпадения с переименованный в.

    Key Bindings List and Test Area in Konsole

Или, запишите простой сценарий для повторения сообщения в цикле. Я включал свой собственный сценарий как после.

  • Скопируйте и вставьте следующие строки кода в текстовом редакторе.

    #!/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"
    
  • Сохраните как файл т.е. loop.sh и запущенный скрипт в терминале т.е. 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 (ярлык по умолчанию в терминале, который требует клавиши Shift иначе. Shift+PgUp/Shift+PgDn):

  • Сочетание клавиш: PgDown+Shift-AppScreen Вывод: ScrollPageDown

  • Сочетание клавиш: PgUp+Shift-AppScreen Вывод: ScrollPageUp

Заметьте это минус - и плюс + знаки отличаются между каждым ключевые слова для основных и вторичных ключей. Это - то, как нажатия клавиш переводятся в эквивалентные символы, по крайней мере, в Konsole.

Однако я не уверен, если те эквивалентные символы на самом деле поняты под другими эмуляторами терминала. Это - насколько я знаю по собственному опыту.

Вердикт

Для продвинутых пользователей, которым не нравится иметь дело с различными конфигурационными файлами и такими утомительными обходными решениями, Konsole легко покорит Ваше сердце. Кажется, что никто не замечал к этому уровню настройки, предлагаемой Konsole и KDE в течение прошлых четырех лет. Как странный.

1
ответ дан 28 July 2012 в 01:34

Другие вопросы по тегам:

Похожие вопросы: