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


12

Я досить втомився від зміни-pgup для створення сторінки в терміналі gnome, командного рядка, термінатора та guake тощо.

Будь-який спосіб легко змусити ці додатки використовувати прямі клавіші перемикання сторінок та вниз для підключення до сторінки?

Відповіді:


9

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

Якщо ви хочете більш зручну прокрутку, пропоную скористатися lessкомандою. Він використовується таким чином:

command-with-lot-of-output | less

Це почне lessкоманду з виведення оригінальної команди. ( Більш детально про вихідні дані для інших програм можна знайти тут: http://www.dsj.net/compedge/shellbasics1.html )

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


3
Я дослідив чорт із цього, і, хоча здається, що на 100 і більше натискань клавіш, які можна зіставити в командній консолі, розгортання сторінок і зменшення сторінки - це не дві з них!
HDave

менший не підходить для простого прокручування вмісту вашого терміналу вгору / вниз, і викликати це навряд чи зручніше, ніж натискання зрушення. Не взагалі винен Якуб, але сумно, що на це питання немає відповіді.
Джонатан Хартлі

@HDave ось як це зробити в xterm unix.stackexchange.com/questions/339160/…
Вільям

1
@JonathanHartley ось як це зробити в xterm unix.stackexchange.com/questions/339160/…
Вільям

1

Використовуйте xtermта налаштовуйте клавіші (in ~/.Xresources) так:

xterm*VT100.Translations: #override \n\
    <KeyPress>Prior:scroll-back(1,page)\n\
    <KeyPress>Next:scroll-forw(1,page)\n\

gnome-terminal каже, що PageUp / PageDown призначений для додатків у терміналі, і використання їх буде заплутаним ...


Тоді чому xterm підтримує опцію, а не термін gnome? У будь-якому випадку я є тим, хто обидва зв'язав відповідь вище і опублікував щедрість, я не даю щедрості за цю відповідь.
Вільям

askubuntu.com/users/33577/liam-william На жаль, я не читав донизу (вгорі, це стосується буфера обміну). І: досить справедливо! Я не давав би це мені: я намагався опублікувати URL-адресу, яка підтримує мою gnome-terminal statentent, але все, що я знайшов, застаріло, тобто неіснуючі посилання ...
aba

1

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

Як керувати пейджингом

У Konsole виконайте наступні дії.

  1. У рядку меню перейдіть до "Налаштування" та натисніть "Налаштувати поточний профіль ..." (Kubuntu 12.04) або "Редагувати поточний профіль ..." (Kubuntu 16.04) і з'явиться вікно.

  2. Перейдіть на вкладку «Введення» (Kubuntu 12.04) або «Клавіатура» (Kubuntu 16.04), де є розділ під назвою «Прив’язки клавіш» із заздалегідь визначеними списками прив’язок ключів.

    Основні прив'язки в Консолі

  3. Виберіть "За замовчуванням (XFree 4)" і натисніть кнопку "Редагувати ...", тоді з'явиться ще одне вікно.

  4. Прокрутіть униз і шукайте комбінацію клавіш PgDown-Shift-AnyModifierіз результатом \E[6~. Перейменуйте цей вихід на ScrollPageDown.

  5. Прокрутіть униз і шукайте комбінацію клавіш PgUp-Shift-AnyModifierіз результатом \E[5~. Перейменуйте цей вихід на ScrollPageUp.

  6. Натисніть кнопку "ОК", щоб закінчити і закрити вікна.

Як перевірити вихід

На кроці 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"
    
  • Збережіть як файл, тобто loop.shзапустіть скрипт у терміналі, тобто bash loop.sh(невиконаний).

  • Зачекайте, поки відлунні повідомлення не заповнять область перегляду та почнуть прокручувати вихід вниз.

  • Потім натисніть Page Upі Page Downклавіші, щоб прокрутити вгору та прокрутити область перегляду вниз.

Я перевірив, використовуючи Konsole 2.8.5, KDE 4.8.5 в Kubuntu 12.04.

Бонус: Комбінація клавіш та вихід

Добре, бонусна відповідь за уточнення. Можна задатися питанням, чому мені довелося редагувати ці клавіші, а не інші. Я раніше це зрозумів, протестувавши кілька типів клавіатури.

Нижче наведено комбінацію клавіш за замовчуванням та її вихід, які були розібрані за допомогою "Тестової області" в Консолі.

Для первинних клавіш вгору / переходу на сторінку (включаючи варіант клавіатури, для якого потрібно натиснути Fnклавішу aka Fn + PgUp / Fn + PgDn):

  • Комбінація клавіш: PgDown-Shift-AnyModifier Вихід:\E[6~

  • Комбінація клавіш: PgUp-Shift-AnyModifier Вихід:\E[5~

Для вторинних клавіш вгору / переходу на сторінку (ярлик за замовчуванням у терміналі, який вимагає Shiftклавіші aka Shift + 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комбінацію клавіш відповідно. Для застосування параметрів важливо натиснути «ОК».
клеаркімура

ні, я б не хотів одночасно натискати Shift PgDown та PgUp. Я не вірю, що це відповіло на питання.
Вільям

Ви маєте на увазі крок 4, 5 не працював для вас? Дивно. Будь-який скріншот із посиланням, щоб показати, що ви бачите?
clearkimura

1
Це спрацьовувало як шарм у Konsole 16.08.3 на Fedora 24. Є кілька незначних відмінностей - вкладка називається "Клавіатура" замість "Введення", але суть полягає в тому, що частина, що показує, як перейменувати вихід, була на місці . Дякуємо, що зняли свербіж у 10 років! ++ 1 ... Якби я міг дати +10, я б.
Майк S

-2

Ви можете використовувати таку moreкоманду:

command-with-lots-of-output  |  more

це запустить ваш командний вихідний вихід із ще більше.

moreможна переходити з «пробілом». Просто натисніть пробіл і побачите вихід команди як сторінки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.