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?