Wie kann ich das Scrollen des Verlaufs in iTerm2 deaktivieren?


289

Ich habe das neue iTerm 2 installiert. Es hat mich in einem gelben Balken oben gefragt, ob ich eine Mausfunktion aktivieren möchte. Leider erinnere ich mich nicht mehr an den genauen Satz.

Durch Zufall habe ich zugestimmt. Wenn ich jetzt in iTerm das Mausrad verwende, wird nicht mehr nach oben gescrollt, sondern der Befehlsverlauf wird ausgelöst. Als würde ich den Aufwärtscursor drücken.

Ich konnte nicht die richtigen Einstellungen finden, um das wieder auszuschalten. Weiß jemand, wo ich diese Option umschalten kann?

Danke fürs Helfen!


3
Ich gehe davon aus, dass Sie iTerm2.9 verwenden und die Meldung "Möchten Sie, dass das Scrollrad den Cursor in interaktiven Programmen wie diesem bewegt?" Lautet. Ich kann jedoch noch keine Schnittstelle zum Umschalten finden das Problem?
Sel-Fisch

1
Ja, aber nur, wenn ich über ssh bei einem Server angemeldet bin. Ich weiß nicht, wie das verbunden sein könnte.
Gambo

"Nur wenn ich über ssh bei einem Server angemeldet bin", meinen Sie, dass dies nicht der Fall ist, wenn Sie iTerm2 für lokale Operationen verwenden? Verwenden Sie ein anderes "Profil", wenn Sie über ssh bei einem Server angemeldet sind?
Sel-Fisch

Es muss ein Terminalsteuerzeichen gesendet werden, um den alternativen Bildschirm ein- und auszuschalten. Ich denke, es ist langfristig besser (nicht spezifisch für iTerm2 oder vim oder weniger) zu lernen, was dieser Kontrollcharakter ist. Es könnte sein ESC [ ? 1 0 4 9 loder ESC [ ? 1 0 4 7 loder ESC [ ? 47 l( gnu.org/software/screen/manual/html_node/Control-Sequences.html )
dlamblin

2
Dies begann nur zufällig für mich .. frustrierend, wenn Sie versuchen, durch Protokolle zu schauen
SgtPooki

Antworten:


493

Einige Terminals, einschließlich iTerm2, haben eine Funktion , wo sie das Verhalten des Rades Maus ändern , wenn ein Vollbild - Programm wie vioder screenoder tmuxausgeführt wird . Dies geschieht, wenn diese Programme den alternativen Bildschirm verwenden , um eine nützliche Funktion bereitzustellen. Wenn Sie den alternativen Bildschirm in iTerm2 verwenden, verhält sich die Radmaus normalerweise wie die Bildlaufleiste und scrollt den gesamten Bildschirm nach oben / unten. Wenn diese Funktion aktiviert ist, sendet iTerm2 Cursortasten nach oben / unten, wodurch sich der Befehlsverlauf ändert.

Wählen Sie, wie in einem anderen Kommentar vorgeschlagen, das Menü " Einstellungen" :

Geben Sie hier die Bildbeschreibung ein

und wählen Sie darin die Registerkarte Erweitert . Scrollen Sie zum Abschnitt Maus .

Geben Sie hier die Bildbeschreibung ein

und schalten Sie den Eintrag für um

Das Scrollrad sendet im alternativen Bildschirmmodus Pfeiltasten

von Ja bis Nein . Sie müssen iTerm2 neu starten, damit die Änderung wirksam wird. (Mit iTerm2 v3.1.5 werden Änderungen ohne Neustart wirksam.)


2
Ich habe es getestet, bevor ich den Kommentar geschrieben habe - nur das Umschalten der Option war nicht genug.
Thomas Dickey

Könnte von der Version abhängen. In 3.0.2 ist das Umschalten definitiv ausreichend. Wenn Sie sich im alternativen Bildschirmmodus befinden und diese Einstellung deaktiviert ist und Sie versuchen (und fehlschlagen), mit der Maus zu scrollen und anschließend die Aufwärts- oder Abwärtspfeiltaste zu drücken, werden Sie aufgefordert, diese Funktion rechts im zu aktivieren Terminalfenster.
George

3
3.0.12 muss nicht neu gestartet werden, damit dies wirksam wird.
Dhempler

21
//, ich mag diese Funktion und benutze sie in Vim. Wie kann ich verlassen in einem bestimmten Terminalfenster alternativen Bildmodus? UPDATE: Öffnen Sie im Terminal, das sich im alternativen Bildschirmmodus befindet, ein Terminalprogramm, das den alternativen Bildschirmmodus aktiviert. Beenden Sie das Programm sauber. Dies beendet das Problem vorübergehend. Ich denke, dies deutet darauf hin, dass das Problem durch das Beenden eines Programms verursacht wurde, das die Funktion "Alternativer Bildschirm" auf ungewöhnliche Weise verwendet hat.
Nathan Basanese

6
Sir, Sie haben mich vor dem reinen Wahnsinn gerettet.
BK

60

Wenn Sie sich im Bildlaufverlaufsmodus befinden, können Sie entkommen, indem Sie vi ausführen und direkt beenden. Sie können auch ein anderes Programm auswählen, das den alternativen Bildschirm verwendet, und direkt beenden.

Das Scrollen des Verlaufs mit dem Mausrad sollte theoretisch nie passieren. Dies geschieht in der Praxis, weil der alternative Bildschirmmodus manchmal nicht richtig zurückgeschaltet wird. Die akzeptierte Antwort löst das Problem, indem eine nützliche Funktion deaktiviert wird, nämlich das Scrollen in vi, less, ... mit dem Mausrad oder dem Trackpad. Sie können die Option aus den erweiterten Einstellungen beibehalten:

Das Scrollrad sendet im alternativen Bildschirmmodus Pfeiltasten

auf ja setzen. Sie werden manchmal im Bildlaufverlaufsmodus gefangen sein. Aber wenn Sie wissen, wie man entkommt, ist das kein Problem.


2
Danke für den Hinweis! Das hat mir geholfen :)
jj172

1
Danke, Mann! Aber das Eingeben und Beenden von vi hat in meinem Fall aus irgendeinem Grund nicht geholfen, aber es hat funktioniert, nachdem ich eine Manpage
eingegeben

1
Das war so hilfreich. Das Scrollen war plötzlich das Hinzufügen [[A^und Hinzufügen [[B^zur Befehlszeile, anstatt das Fenster zu scrollen. Ich wusste, dass dies kein normales Verhalten war. Zuvor hatte ich den Computer in nanoeiner SSH-Shell belassen, die beim Schließen meines Laptops getrennt wurde. Dieser abrupte Ausstieg war offensichtlich der Schuldige. Durch einfaches Öffnen eines neuen Tabs in iTerm2 wurde dies behoben.
Colin Marshall

Leider screenkönnen Sie diesen Trick nicht verwenden, um den alternativen Bildschirmmodus zu verlassen. Wenn Sie also screenviel verwenden (wie ich), ist das Deaktivieren der Funktion insgesamt ein Lebensretter.
mvreijn

Ich bevorzuge diese Antwort, da es sehr nützlich ist, mit dem Trackpad in Vollbild-Apps zu navigieren. Daher war das Deaktivieren der Funktion in den Einstellungen keine gute Option für mich :) Danke, dass Sie diesen Tipp geteilt haben :)
Patrick Ferreira

42

Sie müssen wahrscheinlich nur die alternative Konsole verlassen.

Versuchen: tput rmcup


1
Tolle Antwort A + 💯
dps

Viel bessere Antwort - auf diese Weise können Sie den Verlauf scrollen, während Sie in vim noch scrollen können. Vielen Dank!
JonLuca

10

Einstellungen: Erweitert: Maus: Das Scrollrad sendet im alternativen Modus Pfeiltasten


2
Ich habe genau das gleiche Problem beschrieben, aber in der neuesten iTerm-Maus ist nicht unter den Einstellungen: Erweitert. Nur Trigger, intelligente Auswahl und semantische Geschichte. Kennt jemand einen anderen Weg, um dies zu beheben?
MikeLspohn

9

Mit iTerm2 können Sie auch die Option gedrückt halten, während Sie das Scrollrad verwenden, um das Scrollen des Fensters zu erzwingen, falls Sie möchten, dass das Rad in vim weiter funktioniert.


Das funktioniert, aber wie gehe ich zurück zu den Standardeinstellungen, wenn ich den Optionsschlüssel nicht gedrückt halten musste
meso_2600

2

Das Verhalten, das Sie sehen, ist das erwartete (und korrekte) Verhalten auf dem alternativen Bildschirm. Das einzige Problem, das Sie haben, ist, dass Sie auf dem alternativen Bildschirm in Bash oder was auch immer gefallen sind, möglicherweise während Sie eine Verbindung verloren haben oder von einem getöteten Vim oder weniger. EG Sie waren in less +F /var/log/somethingund wurden getrennt.

Sie sehen, dass bereits jemand geschrieben hat, dass der tput rmcupBefehl zum Hauptbildschirm zurückkehrt.

Ich ging auch voran und sah einige Terminalsteuerungszeichen nach. Dies kann eine der folgenden sein: ESC [ ? 1 0 4 9 loder ESC [ ? 1 0 4 7 loder ESC [ ? 47 l(gnu.org/software/screen/manual/html_node/Control-Sequences.html) mit einer Präferenz für die erste.

Ich bin im Allgemeinen erfolgreich in iTerm2, da echo -e '\e[?1049l'ich es eigentlich nicht rmcupeinfacher finde , mich daran zu erinnern, den Speicher der Konsole wiederherzustellen.


1

Ich hatte das gleiche Problem und keine der Lösungen, die ich gelesen und ausprobiert habe, hat funktioniert. Was mein Problem behoben hat, war das Ausschalten von Secure Keyboard Entry. Wenn ich jetzt mit der Maus in ssh und im Terminalmodus unter macOS 10.13 scrolle, funktioniert es so, wie ich es auch erwartet habe!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.