Verwenden von Vim / Gvim mit mehreren GUI-Fenstern


25

Ist es möglich, zwei oder mehr (G) VIM-Fenster für dieselbe Sitzung zu haben oder zumindest einige Puffer gemeinsam zu nutzen? Hier bezieht sich "Fenster" auf ein Gnome-Fenster (oder KDE- oder Windows-Fenster usw.), nicht auf ein VIM-Fenster.

Ich verwende zwei Monitore mit Xinerama und möchte zwei separate GUI-Fenster öffnen, anstatt ein großes einziges zu haben, das mehrere Bildschirme umfasst.


Haben Sie versucht: sp <Dateiname> oder: vsp <Dateiname>? Dies sind die Fensteraufteilungsbefehle von vim und sie sind großartig. Hier ist eine Dokumentation
Tom Stephens

2
@ Tom Stephens: und das hilft .. wie? OP möchte die vim-Fenster einer vim-Instanz auf seinen Monitoren positionieren. OP möchte nicht, dass EINE vim-Instanz über alle Monitore verteilt wird.
Akira

1
Das ist wichtig; Der Editor sollte eigentlich keine eigene Fensterverwaltung durchführen.
Sam Watkins

Antworten:


19

Derzeit kann gVim nicht über separate Fenster auf oberster Ebene für denselben Prozess / dieselbe Sitzung verfügen. Es gibt ein TODO-Element, mit dem ein prozessübergreifendes Kommunikationssystem zwischen mehreren Vim-Instanzen implementiert werden kann, damit es sich so verhält, als wären die einzelnen Prozesse vereinheitlicht. (Siehe :help todound suche nach "Top-Level".)


7 Jahre später, Vim8, ist dies immer noch in der ToDo-Liste.
Al.G.

1
Spenden Sie für die Vim-Wohltätigkeitsorganisation und erhalten Sie Stimmen. Stimmen Sie dann für die Funktion ab: vim.org/sponsor/index.php
Heptite

3

Schauen Sie sich den GNU-Bildschirm an, der in Verbindung mit Vim verwendet wird.

Erstes Fenster, Gnu-Bildschirm und vim starten

xterm
screen -S edit
vim

Zweites Fenster, Verbindung zur Bildschirmsitzung herstellen:

xterm
screen -x edit

Unglaublich nützlich für große Xinerama-Desktops, mehrere virtuelle Bildschirme oder VNC-Sitzungen. Eine Vim-Sitzung mit vielen Registerkarten ist alles, was Sie brauchen.

- Tom


1
Punkte für das schnelle und kurze Tutorial, obwohl ich dies nur wenig sinnvoll nennen würde, da ich auf diese Weise nicht verschiedene Puffer derselben Sitzung bearbeiten kann.
Atilla Filiz

Interessanterweise ist dies ein Punkt, an dem der Bildschirm über tmux siegt. Wenn Sie tmux von einem anderen Client aus mit derselben Sitzung verbinden, sehen Sie nur die Spiegelung beider Instanzen herausgefunden, was ich noch tun möchte!
JonnyRaa

2

Es ist einige Zeit her, dass Sie Ihre Frage gestellt haben und viele Dinge haben sich verbessert. Nvidia bietet eine viel bessere Treiberunterstützung für mehrere Monitore unter Linux.
Ich benutze Gvim jetzt nicht mehr, seit ich zu KDE gewechselt bin: Jetzt benutze ich vim-qt. Sie können mehrere Instanzen öffnen, falls Sie vim nicht im Terminal verwenden möchten.

bearbeiten: Mein Setup


Ich versuche es jetzt, wie verwende ich diese mehreren Instanzen? Es sieht aus wie normales Gvim mit einem etwas anderen Gesicht als ich.
Atilla Filiz

Sie können nur zwei Instanzen von vim-qt starten, sodass Sie für jeden Ihrer Bildschirme ein Fenster haben und zwischen diesen die Alt-Tabulatortaste drücken oder jedem Fenster Hotkeys zuweisen können. Vim-qt ist für qt geschrieben, sodass qt-basierte Desktop-Umgebungen wie KDE die Fenster besser nutzen können. Das bedeutet, dass Sie mehrere verschiedene Grafikfenster geöffnet haben und dass Ihre Grafikfenster Vollbild sein können. Was mit regulären gvim nicht möglich war.
Jollyroger

6
Danke, dass du dir die Zeit genommen hast, aber das wollte ich nicht. Ich wollte über zwei separate GUI-Fenster auf dieselben Puffer zugreifen. Und dies ist nicht möglich, da die Pufferfreigabe noch in der Aufgabenliste von vim enthalten ist (siehe die akzeptierte Antwort).
Atilla Filiz

1

Sie können beliebig viele vi (m) Sitzungen durchführen, indem Sie für jede Sitzung ein eigenes Terminalfenster verwenden.

Ich gehe davon aus, dass Sie sie nicht im Vollbildmodus anzeigen und sie dann auf beide Monitore erweitern, da der Desktop erweitert werden soll. Maximieren Sie es nicht und passen Sie die Terminal- oder gvim-Fenstergröße manuell an.

Wenn ich die Marke verpasst habe, versuchen Sie bitte, etwas mehr auszuarbeiten.

Was meinst du mit vim window?

bearbeiten: Hier ist ein Bild von meinem Bildschirm, auf dem 4 vim-Instanzen ausgeführt werden

Hoffentlich hat es Heptite geschlagen, weil ich mit diesem irgendwie verloren war.


1
Genau das mache ich jetzt. Ändere die Größe manuell auf zwei Monitore und dann: vsplit, aber es sieht hässlich aus und manchmal möchte ich einige Puffer auf verschiedenen virtuellen Desktops sehen oder einen Monitor mit etwas anderem abdecken. Ich möchte zwei verschiedene Terminals verwenden und trotzdem von beiden auf die gleichen Puffer zugreifen.
Atilla Filiz

Ich verstehe jetzt. Ich bin froh zu sehen, dass Heptite das für Sie beantwortet hat.
Dan M.
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.