Vim und Maus mit ssh von Mac auf Linux

9

Ich weiß sicherlich, dass es möglich ist, die Maus in Vim in einer Remote-Sitzung auf einem Linux-Computer von meinem Mac aus zum Laufen zu bringen, aber ich habe nicht herausgefunden, wie.

Daily vim gibt einen Tipp, wie es funktioniert, aber wenn ich zum Beispiel versuche, 'mac-ansi' einzustellen, wird eine Fehlermeldung angezeigt, dass ich nur Werte angeben kann, die mit builtin_ beginnen (riscos, beos-ansi usw.). Ich habe versucht ssh -X, mit set mouse=aund set term=builtin_ansozum Beispiel zu kombinieren , aber ohne Erfolg mit oder ohne sie zu kombinieren.

Ich benutze Snow Leopard und versuche, die Maus auf einem Debian-Computer mit vim 7.1.314 zu verwenden. Ich habe mir die Dokumentation angesehen, kann sie aber nicht zum Laufen bringen. Irgendwelche Tipps?

Jonatan Littke
quelle
Der Rat zu diesem täglichen Vim-Post ist absolut falsch, wenn es um die 'term'Option geht. Es gibt nur sehr wenige Umstände, unter denen man diese Option in Vim ändern sollte, anstatt das Terminal auf den richtigen Wert für $ TERM einstellen zu lassen. Der Kommentar von Spectral ist richtig.
Jamessan

Antworten:

15

Ich glaube nicht, dass Terminal.app die xterm-Mausberichterstattung unterstützt, die erforderlich ist, damit die Maus funktioniert. Es gibt einige Optionen, um ein Terminal mit Mausberichtsfunktion zu erhalten.

  • iTerm ist ein alternatives Terminalprogramm, das Mausberichte unterstützt
  • MouseTerm ist ein Hack zum Hinzufügen von Mausberichten zu Terminal.app, aber ich habe es nicht ausprobiert und weiß nicht, wie gut es funktioniert
  • Sie können auch X11 installieren und ein echtes xterm verwenden

Sobald Sie eine davon in Gang gebracht haben :set mouse=a(möglicherweise müssen Sie dies auch tun :set term=xterm), sollten Sie im Geschäft sein.

Geoff Reedy
quelle
1
MouseTerm hat das Problem gelöst. Sie unterstützen derzeit Mausklicks und Bildlaufereignisse. Ich habe gerade SIMBL + MouseTerm installiert und set mouse = a in Vim auf meinem Remote-Computer ausgeführt, und es hat funktioniert.
Jonatan Littke
1
+1 für: setze mouse = a in vim. Wenn Putty unter Windows ausgeführt wird, ist keine weitere Konfiguration erforderlich. Ich kann nicht glauben, dass ich die Tastatur nur so lange benutzt habe.
Cheesington
6

Um Terminal.app mit einer Maus zu verwenden, müssen Sie Alt-Klick anstelle von Klick verwenden.
Beispiel: Setzen Sie in vim mouse = a und positionieren Sie den Cursor mit Alt-Klick.

Dies funktioniert über ssh, erlaubt jedoch keine Größenänderung von (vim) Fenstern. Sie verlieren auch die Möglichkeit, aus anderen Fenstern auszuschneiden und in das Terminalfenster einzufügen.

dschult
quelle
1

Ich habe keine Antwort, aber ich kann mitteilen, was ich bei meiner monatelangen Suche nach der Antwort gelernt habe. Ich bin ein starker Benutzer von VIM und GNU Screen über SSH. Ironischerweise schwöre ich auf diese Programme, weil ich sie ohne Maus aus der Ferne verwenden kann, aber ich habe OS X fast aufgegeben, weil es mir keine einfache Möglichkeit bietet, sie mit einer Maus aus der Ferne zu verwenden .

Wie auch immer, hier ist, was ich aufgetaucht bin:

  • xterm, das unter X11.app ausgeführt wird, kann dazu gebracht werden, Mausereignisse zu melden und wie gewünscht zu arbeiten. Leider fehlen xterm viele Funktionen von iTerm und Terminal.app. Um die Schriftart in xterm so einfach wie möglich zu ändern, ist ein bisschen schwarze Magie erforderlich.
  • iTerm kann angeblich die gewünschte Funktionalität aufnehmen, aber ich habe es nie zum Laufen gebracht. iTerm litt auch unter großen Leistungsproblemen, als ich vor ein paar Monaten zu Terminal.app wechselte. Bildschirmaktualisierungen erfolgten langsam, und es würde 25% der CPU beanspruchen, wenn man nur da sitzt und nichts tut.
  • Ich habe tatsächlich versucht, eine abgespeckte Ubuntu-VM unter VMWare als Terminal-App zu verwenden. Ich habe es so eingerichtet, dass es in ein Vollbild-Gnome-Terminal mit Fluxbox als Fenstermanager bootet. Ich habe diese Lösung aufgegeben, weil sie mit Spaces und dem Aufwand für die Ausführung von VMWare nicht gut funktioniert hat.

Jetzt bin ich nie mehr weit von einer echten Linux-Box entfernt. Verwenden Sie gelegentlich vim über Terminal.app, um ehrlich zu sein. Wenn ich mich nicht an die Navigationstasten erinnern kann, kann ich auch Visual Studio verwenden.


quelle
0

Zusätzlich zu Geoffs Antwort gibt es hier eine weitere mögliche Lösung:

MacVim + NetRW für vim .

MacVim verfügt über eine integrierte Mausunterstützung, und NetRW ist ein vim-Modul, das die Remote-Bearbeitung ermöglicht vim scp://host/path/to/file. Starten Sie einfach MacVim und stellen Sie eine Verbindung zur Datei her, bearbeiten Sie sie und speichern Sie sie remote.

Sie könnten auch daran interessiert sein, die GUI ein wenig zu optimieren, siehe meine verwandte Frage zu SO.

Jonatan Littke
quelle