GNU/Linux >> Linux Esercitazione >  >> Linux

come fare in modo che meno cercapersone risponda alla rotella di scorrimento e non cancellare lo schermo

Non senza hackerare il codice sorgente di less. Un po' di storia:

Less non è in grado di gestire il mouse (inclusi gli eventi di scorrimento).

Gli emulatori di terminale supportano un cosiddetto schermo alternativo. Questo è ciò a cui passa la maggior parte delle app a schermo intero per la loro durata (e tornano alla schermata normale quando si chiudono, causando il "ripristino" dei contenuti precedenti) e non ha un buffer di scorrimento. Anche Less passa a questa schermata alternativa, a meno che -X viene fornito, nel qual caso non lo è.

Molti emulatori di terminale lo hanno capito quando è in modalità schermo alternativo e l'applicazione in esecuzione all'interno non è interessata agli eventi del mouse, ha senso convertire lo scorrimento in eventi di pressione dei tasti Su o Giù. È un hack e sarebbe dannoso sia sullo schermo normale (immagina cosa accadrebbe, ad esempio, al prompt della shell), sia quando l'applicazione desidera gestire il mouse (certo, devono vedere gli eventi effettivi del mouse quindi). Ma poiché per impostazione predefinita nessuno di questi due è valido quando esegui less , questo hack si attiva (a condizione che l'emulatore di terminale lo supporti e che sia abilitato tramite \e[?1007h contro \e[?1007l ). I tuoi eventi di scorrimento vengono convertiti dall'emulatore di terminale in pressioni di tasti Su e Giù e less non è in grado di distinguerli dalle pressioni di tasti effettive. Non riceve gli eventi di scorrimento del mouse:vede le pressioni dei tasti Su e Giù.

Quindi eccoti qui:o passi alla schermata alternativa e l'hack del terminale converte gli eventi di scorrimento in pressioni di tasti per meno, e la schermata normale viene ripristinata quando esci; oppure no, e quindi non può esserci alcuna magia che converta gli eventi di scorrimento in pressioni di tasti e less non capisca gli eventi di scorrimento.

Quindi cosa si potrebbe fare? Bene, o implementa il supporto del mouse in meno e lascia che gestisca gli eventi di scorrimento da solo (e viva con un clic non predefinito o un comportamento copia-incolla), oppure implementa un altro strano hack:all'uscita, dopo essere tornato alla schermata normale, less potrebbe per l'ultima volta stampare una schermata di contenuto, ripetendo ciò che è stato visualizzato prima di uscire.

In pratica, sostanzialmente si riduce a:scusa, lascia perdere.


Apparentemente l'aggiornamento a meno 530 o più recente ti darà la funzionalità desiderata,

http://www.greenwoodsoftware.com/less/news.530.html

Queste sono le differenze tra la versione 487 e la versione 530:

Non visualizzare la sequenza di inizializzazione del terminale se si utilizza -F e il file si adatta a uno schermo.

Non ho trovato nessun PPA "meno" con la versione più recente, quindi scarica il pacchetto sorgente, crealo localmente e installalo.

e configura git in questo modo:

git config --global core.pager 'less -F -S -R -i -+X'

maggiori informazioni:Come usare "less -F" senza "-X", ma visualizzare comunque l'output se solo una pagina?


Linux
  1. Il pacchetto che ho appena installato è legittimo e, in caso contrario, come disinstallarlo?

  2. Come faccio a disabilitare lo screensaver SuSE?

  3. Come posso rendere la sessione sudo un'ora e non pochi minuti in Ubuntu 10.04?

  4. Come posso fare in modo che 'diff -X' ignori percorsi specifici e non nomi di file?

  5. Come faccio a rendere un file NON modificabile?

Come cancellare (svuotare) la cache DNS su Windows, MacOS e Linux

Come usare e sfruttare al meglio il comando fusore in Linux

Come bloccare la tastiera e il mouse, ma non lo schermo in Linux

Perché "cancella" non cancella l'intero schermo?

Come installare e utilizzare il comando dello schermo Ubuntu 20.04

Come posso cancellare le credenziali in AWS Configure?