Faire utiliser le terminal pageup / pagedown au lieu de shift-pageup / shift-pagedown?


12

Je suis assez fatigué de shift-pgup pour faire une page dans le terminal gnome, la ligne de commande, le terminateur et le guake, etc.

Est-il possible de faire en sorte que ces applications utilisent facilement les touches de page précédente et de page suivante pour paginer?

Réponses:


9

Je crains que ce ne soit pas possible, car aucun PgUp / PgDown ne sera envoyé aux applications en ligne de commande, ce qui rendra certaines d'entre elles inutilisables. C'est une bonne fonction Unix des vieux jours.

Si vous souhaitez un défilement plus convivial, je vous suggère d'utiliser la lesscommande. Il est utilisé de cette façon:

command-with-lot-of-output | less

Cela démarrera la lesscommande avec la sortie de votre commande d'origine. ( Vous trouverez plus d'informations sur la sortie des tuyaux vers d'autres programmes ici: http://www.dsj.net/compedge/shellbasics1.html )

Moins peut être parcouru à l'aide des flèches ou PgUp / PgDown. Pour votre commodité, il fournit également des recherches et plus (voir man lesspour en savoir plus). Vous pouvez quitter lessen appuyant simplement sur la qtouche.


3
J'ai fait des recherches sur tout cela et bien qu'il semble qu'il y ait plus de 100 touches que vous pouvez mapper dans la console de commande, la page suivante et la page suivante ne sont pas deux!
HDave

less ne convient pas uniquement pour faire défiler le contenu de votre terminal vers le haut / bas, et l'invoquer n'est guère plus pratique que d'appuyer sur shift. Pas du tout la faute de Jakub, mais c'est triste qu'il n'y ait pas de réponse à cette question.
Jonathan Hartley

@HDave ici est de savoir comment le faire dans xterm unix.stackexchange.com/questions/339160/…
William

1
@JonathanHartley voici comment le faire dans xterm unix.stackexchange.com/questions/339160/…
William

1

Utilisez xtermet modifiez les raccourcis clavier (en ~/.Xresources) comme ceci:

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

gnome-terminal dit PageUp / PageDown est pour les applications dans le terminal et les utiliser serait déroutant ...


alors pourquoi xterm prend-il en charge l'option et non le terminal gnome? Quoi qu'il en soit, je suis celui qui a à la fois lié la réponse ci-dessus et publié la prime, je ne donne pas de prime à cette réponse.
William

askubuntu.com/users/33577/liam-william Oups, je n'ai pas lu avant le bas (en haut, il s'agit du presse-papiers). Et: assez juste! Je ne me le donnerais pas: j'ai essayé de publier une URL qui prend en charge mon état gnome-terminal, mais tout ce que j'ai trouvé était obsolète, c'est-à-dire des liens inexistants ...
aba

1

Konsole est un émulateur de terminal pour KDE qui fournit une option pertinente, dans laquelle peut être configuré pour utiliserPage Upet desPage Downclés pour la pagination directe. Il n'y a aucun autre émulateur de terminal que j'ai trouvé aussi simple que Konsole pour une telle personnalisation.

Comment diriger la pagination

À Konsole, procédez comme suit.

  1. Dans la barre de menu, allez dans "Paramètres" et cliquez sur "Configurer le profil actuel ..." (Kubuntu 12.04) ou "Modifier le profil actuel ..." (Kubuntu 16.04) et une fenêtre apparaîtra.

  2. Cliquez sur l'onglet "Entrée" (Kubuntu 12.04) ou l'onglet "Clavier" (Kubuntu 16.04), qui a une section intitulée "Key Bindings" avec des listes prédéfinies de raccourcis clavier.

    Raccords de clés à Konsole

  3. Sélectionnez "Par défaut (XFree 4)" et cliquez sur le bouton "Modifier ...", puis une autre fenêtre apparaîtra.

  4. Faites défiler vers le bas et recherchez la combinaison de touches PgDown-Shift-AnyModifieravec la sortie \E[6~. Renommez cette sortie en ScrollPageDown.

  5. Faites défiler vers le bas et recherchez la combinaison de touches PgUp-Shift-AnyModifieravec la sortie \E[5~. Renommez cette sortie en ScrollPageUp.

  6. Cliquez sur le bouton "OK" pour terminer et fermer les fenêtres.

Comment tester la sortie

À l'étape 3, il y a une "zone de test" pour confirmer la sortie pour chaque pression de touche.

  • Cliquez pour mettre le focus dans le champ de texte "Input:" et appuyez sur les touches Page Upet Page Down(une à la fois).

  • Confirmez que la sortie est la même que celle renommée.

    Liste des liaisons clés et zone de test à Konsole

Ou, écrivez un script simple pour faire écho au message en boucle. J'ai inclus mon propre script comme suit.

  • Copiez et collez les lignes de code suivantes dans l'éditeur de texte.

    #!/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"
    
  • Enregistrer sous fichier ie loop.shet exécuter le script dans le terminal ie bash loop.sh(non exécutable).

  • Attendez que les messages en écho remplissent la zone d'affichage et commencent à faire défiler la sortie vers le bas.

  • Ensuite, appuyez sur les touches Page Upet Page Downpour faire défiler vers le haut et vers le bas la zone d'affichage.

J'ai testé en utilisant Konsole 2.8.5, KDE 4.8.5 dans Kubuntu 12.04.

Bonus: combinaison de touches et sortie

Très bien, réponse bonus pour clarification. On peut se demander pourquoi j'ai dû éditer ces combinaisons de touches et pas d'autres. Je l'avais compris plus tôt en testant plusieurs types de clavier.

Voici la combinaison de touches par défaut et sa sortie, qui ont été déterminées à l'aide de "Zone de test" dans Konsole.

Pour les touches primaires Page précédente / Page suivante (y compris la variante de clavier qui nécessite d'appuyer sur la Fntouche aka Fn + PgUp / Fn + PgDn):

  • Combinaison de touches: PgDown-Shift-AnyModifier Sortie:\E[6~

  • Combinaison de touches: PgUp-Shift-AnyModifier Sortie:\E[5~

Pour les touches secondaires Page précédente / Page suivante (raccourci par défaut dans le terminal qui nécessite la Shifttouche alias Shift + PgUp / Shift + PgDn):

  • Combinaison de touches: PgDown+Shift-AppScreen Sortie:ScrollPageDown

  • Combinaison de touches: PgUp+Shift-AppScreen Sortie:ScrollPageUp

Notez que les signes moins -et plus +diffèrent entre chaque mot clé pour les clés primaires et secondaires. C'est ainsi que les touches sont traduites en caractères équivalents, du moins dans Konsole.

Cependant, je ne sais pas si ces caractères équivalents sont réellement compris par d'autres émulateurs de terminaux. Autant que je sache par expérience personnelle.

Verdict

Pour les utilisateurs expérimentés qui n'aiment pas gérer divers fichiers de configuration et ces solutions de rechange fastidieuses, Konsole gagnera facilement votre cœur. Il semble que personne n'ait remarqué ce niveau de personnalisation offert par Konsole et KDE au cours des quatre dernières années. Comme c'est étrange.


J'essaie donc de me débarrasser de la pression sur le réglage de la combinaison de touches pour PgDownne pas fonctionner pour une raison quelconque.
William

Vous voulez supprimer le raccourci par défaut? Si vider le champ de sortie ne fonctionne pas, remplacez la sortie par défaut ScrollPageDown, ScrollPageUpavec précédemment remplacé \E[6~, \E[5~pour PgDown+Shift-AppScreenet PgUp+Shift-AppScreenrespectivement combinaison de touches. Il est important de cliquer sur "OK" pour que les paramètres s'appliquent.
clearkimura

non, je ne voudrais pas avoir à appuyer sur Shift en même temps que PgDown et PgUp. Je ne pense pas que cela ait répondu à la question.
William

Vous voulez dire que les étapes 4, 5 n'ont pas fonctionné pour vous? Étrange. Une capture d'écran avec un lien pour montrer ce que vous voyez?
clearkimura

1
Cela a fonctionné comme un charme dans Konsole 16.08.3 sur Fedora 24. Il y a quelques différences mineures - l'onglet est appelé "Clavier" au lieu de "Entrée", mais la ligne du bas est cette partie montrant comment renommer la sortie était sur place . Merci d'avoir supprimé une démangeaison de 10 ans que j'ai eu! ++ 1 ... Si je pouvais donner +10, je le ferais.
Mike S

-2

Vous pouvez utiliser la morecommande comme ceci:

command-with-lots-of-output  |  more

cela démarrera la sortie originale de votre commande avec plus.

morepeut être parcouru avec «espace». Appuyez simplement sur l'espace et voyez la sortie de la commande sous forme de pages.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.