Terminator / vim-Mausproblem

990
Raz

Lassen Sie mich damit anfangen zu sagen, dass ich versuche, die Maus in vim so wenig wie möglich zu verwenden, aber es gibt Zeiten, in denen ich sie am Ende verwenden werde, um etwas zu klicken oder etwas hervorzuheben.

Nachdem dies gesagt wurde, hier ist das Problem, das ich habe. In den meisten Fällen habe ich mein Terminal (Terminator) auf einem meiner Monitore maximiert und in der Regel habe ich vim mit 2 oder 3 vertikal geöffneten Fenstern geöffnet. Das Problem tritt auf, wenn ich auf das Fenster ganz rechts klicke. Stattdessen wird der Cursor zum ganz linken Fenster bewegt. Weil ich selten klicke, wirft es mich wirklich ab, wenn es nicht das erwartete Verhalten ist und ich mich nie daran gewöhnen kann.

Ich suchte nach dem möglichen Problem und stellte fest, dass ein Problem mit Xterm und Mausklicks nach der 220. Spalte im Terminal vorlag. Angeblich wurde es seitdem behoben. Ich kann das Problem leichter testen, indem ich vim in einem Terminal mit maximaler Größe öffnet und eine Zeile mit ~ 250 Zeichen erstellt. Ich kann keinen Charakter an der 220. Spalte anklicken. Nachdem ich mich umgesehen hatte, stellte ich fest, dass viele Leute vorschlugen, "ttymouse = sgr" in .vimrc zu setzen. Ich habe es versucht, aber es hat sich nichts geändert.

Ich habe erwähnt, dass ich Terminator als mein Terminal verwende. Ich sehe dieses Verhalten nicht in gnome-terminal, aber ich würde wirklich lieber mit Terminator bleiben. Ich bin nicht sehr vertraut mit der Funktionsweise der Mausintegration mit Programmen innerhalb des Terminals, aber ich kann mir vorstellen, dass sich die Terminalfähigkeiten zwischen Terminator und Gnome-Terminal unterscheiden.

Ich verwende Ubuntu 14.04 LTS.

1
Ich habe auch dies in urxvt (einem Terminal-Emulator), so dass es kein Terminator-Problem ist boobie_goodness vor 8 Jahren 0

1 Antwort auf die Frage

3
egmont

Terminator und Gnome-Terminal verwenden das gleiche Terminalemulations-Widget namens Vte. Gnome-terminal verwendet jedoch eine neuere, auf Gtk + -3 basierende Version, während Terminator auf einem älteren Vte basiert, der auf Gtk + -2 basiert.

Das ältere Mausprotokoll unterstützt nur Zeilen- und Spaltenwerte bis 223. Die erweiterte Version wurde zu Vte's Gtk + -3-Zweig hinzugefügt.

Wenn Sie etwas abenteuerlustig sind, können Sie zur neuen Gtk + -3-basierten Version von Terminator wechseln ( https://code.launchpad.net/~gnome-terminator/terminator/gtk3 ). Heutzutage ist es in der Entwicklung und es wurden viele Verbesserungen und Korrekturen im Vergleich zu der von Ihnen verwendeten vorgenommen. Es gibt jedoch derzeit ein oder zwei Regressionen, an denen wir gerade arbeiten (vor allem: falsche Größen nach einem Doppelklick auf ein Trennzeichen) oder nach einem Drehvorgang). Aber ich denke, Sie möchten die Verbesserungen.

Es erfordert eine noch neuere Version von Vte als von Trusty ausgeliefert. Sie können versuchen, das vte2.91-Paket von Gnome3 Staging ( https://launchpad.net/~gnome3-team/+archive/gnome3-staging/+packages ) für eine neuere Ubuntu-Installation zu verwenden. Ich bin mir nicht sicher. Oder Sie können das Tarball von vte-0.42 ( ftp://ftp.gnome.org/pub/GNOME/sources/vte/ ) (./configure --prefix = / usr && make && sudo make install) kompilieren und installieren Ich tat dies neulich und ich kann garantieren, dass dies funktioniert. Alles, was Sie tun müssen, ist, einige Abhängigkeiten zu installieren, die als Trusty-Pakete verfügbar sind. Manchmal ist es jedoch etwas kompliziert, das erforderliche Paket herauszufinden (wie Python, gir, libgirepository ...).

Wenn Sie eine neuere Version auf diese Weise installieren, werden Ihre vorherigen nicht überschrieben. Sie haben drei Versionen, die gleichzeitig vorhanden sind.

Mit der neueren Version sollte Terminators Gtk + -3-Version von bzr sofort starten.

Ich gehe davon aus, dass das Verhalten auch für tmux gleich wäre, oder? In meinem Fall habe ich mein Layout als `|| vim-vert-split1 | vim-vert-split2 | vim-vert-split3 || tmux-vert-pane2 ||` mit jeder Spalte / Teilung 80 Spalten breit. Workflows, die Auswahl / Bildlauf in tmux window2 beinhalten, funktionieren normal. Irgendwelche Ideen, warum das so ist? UltraInstinct vor 6 Jahren 0
@ SuperSaiyan Ich bin nicht sicher, was dein Problem ist. fragst du warum es normal funktioniert? Was ist das Problem? :) Jedenfalls empfehle ich Ihnen, falls Sie Probleme haben, eine neue Frage zu stellen. egmont vor 6 Jahren 0
Ihre Antwort löst mein Problem, +1! Ich zögere, eine neue Frage zu erstellen, da dies ein Kommentar / eine Frage zu Ihrer Antwort ist. Lassen Sie mich meine Frage neu formulieren: "Wenn Programme wie vim Maus-Interaktionen nach Spalte 223 nicht verarbeiten können, wie kann dann tmux (wie Textauswahl) in der obigen Konfiguration damit umgehen? Die Maus-Interaktionen finden in Spalte (80) statt * 3). Ich würde davon ausgehen, dass tmux auch die gleiche vte-Version verwendet. " UltraInstinct vor 6 Jahren 0
Erstens bin ich ziemlich sicher, dass vim damit umgehen kann :), aber nehmen wir an, es kann nicht. Tmux aktiviert die entsprechende Erweiterung, empfängt die Mauskoordinaten im neuen Format, muss jedoch offensichtlich angepasst werden. Es muss den x- und y-Versatz des angegebenen Bereichs subtrahieren und in das von vim angeforderte Format übertragen werden (wahrscheinlich das alte Format, das nur bis zu 223 verarbeiten kann) unter dem) egmont vor 6 Jahren 1