2016-04-13 34 views
140

Ho installato il nuovo iTerm 2. Mi ha chiesto in una barra gialla in alto se volevo abilitare una funzionalità del mouse. Purtroppo non ricordo più la frase esatta.Come posso disattivare lo scorrimento della cronologia in iTerm2

Per incidente ho approvato. Ora quando uso la rotellina del mouse in iTerm, non scorre più in alto ma invece avvia la cronologia dei comandi. Come se premessi il cursore su.

Non sono riuscito a trovare le impostazioni corrette per disattivarlo di nuovo. Qualcuno sa dove posso attivare questa opzione?

Thx per l'aiuto!

+1

Suppongo che tu utilizzi iTerm2.9 e il messaggio che hai visto è "Vuoi che la rotella di scorrimento sposti il ​​cursore in programmi interattivi come questo?". Tuttavia non riesco a trovare un'interfaccia per attivarla, fare hai ancora il problema? –

+1

Sì, ma solo quando sono connesso a un server tramite ssh. Non so come questo possa essere collegato. – Gambo

+0

"solo quando sono connesso a un server tramite ssh", vuoi dire che quando usi iTerm2 per le operazioni locali, ciò non accadrà? Usi un "profilo" diverso quando "accedi a un server tramite ssh"? –

risposta

236

alcuni terminali, tra iTerm2, hanno una caratteristica in cui cambiano il comportamento del mouse ruota quando un programma a schermo intero come vi o screen o tmux è in esecuzione. Ciò accade quando tali programmi utilizzano lo schermo alternativo , per fornire una funzione utile. Normalmente, quando si utilizza lo schermo alternativo in iTerm2, il mouse della rotellina si comporta come la barra di scorrimento, facendo scorrere l'intero schermo verso l'alto/il basso. Ma quando questa funzione è abilitata, iTerm2 invia i tasti cursore su/giù, facendo cambiare la cronologia dei comandi.

Come suggerito in un altro commento, selezionare il menùPreferenze:

enter image description here

e che, selezionare la scheda Avanzate . Scorri fino alla sezione mouse,

enter image description here

e attivare o disattivare la voce per

rotellina di scorrimento invia tasti freccia quando è in modalità schermo si alternano

da a No. Dovrai riavviare iTerm2 affinché la modifica abbia effetto.

+2

L'ho provato prima di scrivere il commento: basta attivare l'opzione non era abbastanza. –

+0

Potrebbe dipendere dalla versione. Nella 3.0.2, la commutazione è sicuramente sufficiente. Infatti, se ti trovi in ​​modalità schermo alternativo e questa impostazione è disattivata e provi (e fallisci) a scorrere con il mouse e successivamente premi il tasto freccia su o giù, ti verrà richiesto di attivare questa funzione a destra nel finestra del terminale. – George

+1

3.0.12 non ha bisogno di essere riavviato affinché questo abbia effetto. – dhempler

8

Preferenze: Avanzate: Mouse: rotellina di scorrimento mandate tasti freccia in modalità alternata

+2

Sto avendo lo stesso problema descritto, ma nel nuovo iTerm Mouse non è sotto le Prefenze :Avanzate. Solo trigger, selezione intelligente e cronologia semantica. Qualcuno conosce un altro modo per risolvere questo problema? – mikeLspohn

1

Stavo avendo lo stesso problema e nessuna delle soluzioni che ho letto e provato ha funzionato. Quello che ha risolto il mio problema è stato disattivare Secure Keyboard Entry e ora quando uso il mouse per farlo scorrere in ssh e in modalità terminale su macOS 10.13 funziona come me lo aspetto anch'io!

13

Se si è trap nella modalità cronologia di scorrimento, è possibile uscire da in esecuzione vi e uscire direttamente. Puoi anche scegliere un altro programma che usa lo schermo alternativo e uscire direttamente.

Lo scorrimento della cronologia con la rotellina del mouse non dovrebbe mai avvenire in teoria. Succede nella pratica, perché a volte la modalità schermo alternativo non viene correttamente ripristinata. La risposta accettata risolve il problema disattivando una funzione che è utile, ovvero scorrendo in vi, meno, ... con la rotellina del mouse o il trackpad.È possibile mantenere l'opzione dalle preferenze avanzate:

rotellina di scorrimento invia tasti freccia quando è in modalità schermo si alternano

impostato su Sì. A volte sarai trappola nella modalità cronologia scorrimento. Ma se sai come fuggire, non è un problema.

+0

Grazie per il consiglio! Questo mi ha aiutato :) – jj172

+0

Grazie amico! Ma entrare e uscire vi non ha aiutato nel mio caso per qualche motivo, ma ha funzionato dopo aver inserito una pagina man e averla chiusa premendo q – Frax

3

Probabilmente hai solo bisogno di uscire dalla console alternativa.

Prova: tput rmcup

0

Il comportamento che stai vedendo è il comportamento previsto (e corretto) quando sullo schermo si alternano. L'unico problema è che sei caduto in bash, o qualsiasi altra cosa, sullo schermo alternativo, forse mentre perdi una connessione o da un vim ucciso o meno. Ad esempio, eri in less +F /var/log/something e ti sei disconnesso.

Si vede che qualcuno ha già scritto che il comando tput rmcup uscirà dalla schermata principale.

Sono anche andato avanti e ho cercato alcuni caratteri di controllo terminale. Può essere uno qualsiasi di: ESC [ ? 1 0 4 9 l o ESC [ ? 1 0 4 7 l o ESC [ ? 47 l (gnu.org/software/screen/manual/html_node/Control-Sequences.html) con una preferenza per il primo.

Generalmente ho successo in iTerm2 con echo -e '\e[?1049l' Non trovo più rmcup più facile da ricordare, ripristina memoria di console up ?.