Il terminale usa pageup / pagedown invece di shift-pageup / shift-pagedown?


12

Sono diventato abbastanza stanco di shift-pgup per sfogliare in gnome terminal, riga di comando, terminator e guake, ecc.

Un modo per fare in modo che queste app utilizzino semplicemente i tasti di scorrimento verso l'alto e verso il basso per sfogliare?

Risposte:


9

Temo che ciò non sia possibile, poiché nessun PgUp / PgDown verrà inviato alle applicazioni della riga di comando, il che renderà alcune di esse inutilizzabili. Questa è una buona caratteristica di Unix dei vecchi tempi.

Se desideri uno scorrimento più intuitivo, ti suggerisco di utilizzare il lesscomando. È usato in questo modo:

command-with-lot-of-output | less

Questo avvierà il lesscomando con l'output del comando originale. ( Ulteriori informazioni sull'output di piping su altri programmi sono disponibili qui: http://www.dsj.net/compedge/shellbasics1.html )

Meno può essere navigato usando le frecce o PgUp / PgDown. Per tua comodità, offre anche la ricerca e altro (vedi man lessdi più). Puoi uscire lesssemplicemente premendo il qtasto.


3
Ho studiato il diavolo da questo e mentre sembra che ci siano oltre 100 sequenze di tasti che puoi mappare nella console di comando, page-up e page-down non sono due!
HDave,

less non è adatto solo per scorrere verso l'alto / il basso nel contenuto del terminale e invocarlo non è più conveniente della pressione del tasto MAIUSC. Non è affatto colpa di Jakub, ma è triste che non ci sia una risposta a questa domanda.
Jonathan Hartley,

@HDave qui è come farlo in xterm unix.stackexchange.com/questions/339160/…
William

1
@JonathanHartley ecco come farlo in xterm unix.stackexchange.com/questions/339160/…
William

1

Usa xterme modifica le combinazioni di tasti (in ~/.Xresources) in questo modo:

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

gnome-terminal dice che PageUp / PageDown è per le applicazioni all'interno del terminale e il loro utilizzo sarebbe confuso ...


allora perché xterm supporta l'opzione e non il terminale gnome? In entrambi i casi sono io quello che ha collegato la risposta sopra e pubblicato la generosità Non sto dando una generosità a questa risposta.
William,

askubuntu.com/users/33577/liam-william Oops, non ho letto fino in fondo (in alto, riguarda gli appunti). E: abbastanza giusto! Non me lo darei: ho provato a pubblicare un URL che supporta il mio stato gnome-terminal, ma tutto quello che ho trovato era obsoleto, cioè collegamenti inesistenti ...
aba,

1

Konsole è un emulatore di terminale per KDE che fornisce un'opzione pertinente, in cui può essere configurato per l'usoPage Upe lePage Downchiavi per il paging diretto. Non ci sono altri emulatori di terminali che ho trovato facili come Konsole per tale personalizzazione.

Come dirigere il paging

In Konsole, procedi come segue.

  1. Nella barra dei menu, vai su "Impostazioni" e fai clic su "Configura profilo corrente ..." (Kubuntu 12.04) o "Modifica profilo corrente ..." (Kubuntu 16.04) e apparirà una finestra.

  2. Fai clic sulla scheda "Input" (Kubuntu 12.04) o "Keyboard" (Kubuntu 16.04), che ha una sezione chiamata "Key Bindings" con elenchi predefiniti di key bind.

    Key Bindings in Konsole

  3. Seleziona "Predefinito (XFree 4)" e fai clic sul pulsante "Modifica ...", quindi apparirà un'altra finestra.

  4. Scorri verso il basso e cerca la combinazione di tasti PgDown-Shift-AnyModifiercon l'output \E[6~. Rinomina questo output in ScrollPageDown.

  5. Scorri verso il basso e cerca la combinazione di tasti PgUp-Shift-AnyModifiercon l'output \E[5~. Rinomina questo output in ScrollPageUp.

  6. Fare clic sul pulsante "OK" per terminare e chiudere le finestre.

Come testare l'output

Al punto 3, c'è "Area test" per confermare l'uscita per ogni pressione del tasto.

  • Fare clic per evidenziare il campo di testo "Input:" e premere Page Up e i Page Downtasti (uno alla volta).

  • Conferma che l'output è lo stesso di quelli rinominati.

    Elenco dei collegamenti chiave e area test in Konsole

Oppure, scrivere un semplice script per ripetere il messaggio in loop. Ho incluso la mia sceneggiatura come segue.

  • Copia e incolla le seguenti righe di codice nell'editor di testo.

    #!/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"
    
  • Salvare come file ie loop.shed eseguire lo script nel terminale iebash loop.sh (non eseguibile).

  • Attendere fino a quando i messaggi echo riempiono l'area di visualizzazione e iniziano a scorrere l'output verso il basso.

  • Quindi, premere Page UpePage Down tasti per scorrere verso l'alto e verso il basso l'area di visualizzazione.

Ho testato usando Konsole 2.8.5, KDE 4.8.5 in Kubuntu 12.04.

Bonus: combinazione di tasti e output

Bene, risposta bonus per chiarimenti. Ci si potrebbe chiedere perché ho dovuto modificare quelle combinazioni di tasti e non altre. L'avevo capito prima testando diversi tipi di tastiera.

Di seguito sono riportate la combinazione di tasti predefinita e il relativo output, che sono stati individuati utilizzando "Area test" in Konsole.

Per i tasti Pagina su / Pagina giù principali (inclusa la variante di tastiera che richiede di premere il Fntasto aka Fn + PgUp / Fn + PgDn):

  • Combinazione di tasti: PgDown-Shift-AnyModifier Uscita:\E[6~

  • Combinazione di tasti: PgUp-Shift-AnyModifier Uscita:\E[5~

Per i tasti Pagina su / Pagina giù secondari (scorciatoia predefinita nel terminale che richiede il Shifttasto aka Shift + PgUp / Shift + PgDn):

  • Combinazione di tasti: PgDown+Shift-AppScreen Uscita:ScrollPageDown

  • Combinazione di tasti: PgUp+Shift-AppScreen Uscita:ScrollPageUp

Si noti che i segni meno -e più +differiscono tra le parole chiave per le chiavi primaria e secondaria. Questi sono i modi in cui i tasti premuti vengono tradotti in caratteri equivalenti, almeno in Konsole.

Tuttavia, non sono sicuro che quei caratteri equivalenti siano effettivamente compresi da altri emulatori terminali. Questo per quanto ne so per esperienza personale.

Verdetto

Per gli utenti esperti che non amano gestire vari file di configurazione e soluzioni così noiose, Konsole ti conquisterà facilmente il cuore. Sembra che nessuno abbia notato questo livello di personalizzazione offerto da Konsole e KDE negli ultimi quattro anni. Che strano.


Quindi sto cercando di cavalcare premendo il tasto shift impostando la combinazione di tasti su PgDownnon sembra funzionare per qualche motivo.
William,

Intendi rimuovere il collegamento predefinito? Se lo svuotamento del campo di output non funziona, sostituire rispettivamente l'output predefinito ScrollPageDown, ScrollPageUpcon precedentemente sostituito \E[6~, \E[5~per PgDown+Shift-AppScreene la PgUp+Shift-AppScreencombinazione di tasti. È importante fare clic su "OK" per applicare le impostazioni.
Clearkimura,

no Vorrei non dover premere Shift contemporaneamente a PgDown e PgUp. Non credo che questo abbia risposto alla domanda.
William

Intendi i passaggi 4, 5 non hanno funzionato per te? Strano. Qualche screenshot con link per mostrare quello che stai vedendo?
Clearkimura,

1
Questo ha funzionato come un incantesimo in Konsole 16.08.3 su Fedora 24. Ci sono alcune piccole differenze: la scheda si chiama "Tastiera" invece di "Input", ma la linea di fondo è quella parte che mostra come rinominare l'output era perfetto . Grazie per aver rimosso un prurito di 10 anni che ho avuto! ++ 1 ... Se potessi dare +10, lo farei.
Mike S,

-2

Puoi usare il morecomando in questo modo:

command-with-lots-of-output  |  more

questo avvierà l'output del comando originale con altro.

morepuò essere navigato con 'spazio'. Basta premere lo spazio e vedere l'output del comando come pagine.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.