2010-10-22 10 views
19

Ich habe drei Monitore.Arbeiten mit vim auf mehreren Monitoren

Ich normalerweise einen maximierten xterm auf jedem Monitor, der an die gleiche GNU screen Sitzung angeschlossen ist.

Kann ein ähnliches Modell für vim verwendet werden? Ist es möglich, drei VIMS ausgeführt zu haben, die alle die gleiche „vim Sitzung“ teilen

  • Jedes vim Fenster eine andere vim Registerkarte
  • vim Einstellungen geteilt zwischen allen Fenstern
  • nicht immer die „Swap-Datei zeigt, ... ist bereits vorhanden!" Fehlermeldung, wenn ich die gleiche Datei auf zwei Registerkarten öffne.

Antwort

12

Ich habe eine funktionierende Lösung, wo zwei vim Instanzen kommunizieren.

http://github.com/codeape2/vim-multiple-monitors

Es nutzt die SwapExists die andere Instanz anweisen AutoCmd eine Datei zu öffnen, wenn eine vorhandene Auslagerungsdatei erkannt wird.

+0

Ich habe versucht, Ihr vim-Skript zu verwenden, aber ich verstehe nicht, wie Sie das Argument '--servername' verstehen. Mein vim (7.3) stirbt einfach mit der Fehlermeldung 'Unbekanntes Optionsargument:" --servername "'. Was habe ich verpasst? – bitmask

+0

Vielleicht ist Ihr vim nicht mit Unterstützung für Remote-Aufruf kompiliert. Führen Sie in vim '': version'' aus. Überprüfen Sie, ob die Funktionen '' clientserver'' enthalten – codeape

3

Nein, eine Vim-Instanz ist auf ein einzelnes Anwendungsfenster auf Ihrem Desktop beschränkt. Die verschiedenen Vim-Instanzen haben unabhängige Sitzungen.

Beachten Sie außerdem, dass wenn Sie dieselbe Datei in zwei verschiedenen Vim-Instanzen öffnen, nicht nur die Meldung "Swap file exists" angezeigt wird, sondern die beiden Instanzen keinen Puffer gemeinsam haben sind unabhängig voneinander.

Wenn eine geänderte Datei in einer Instanz gespeichert wird, erhalten Sie eine Meldung, wenn Sie zu der Datei in einer anderen Vim-Instanz zurückkehren, dass "die Datei seit der Bearbeitung geändert wurde" und Sie gefragt werden, ob Sie die Datei erneut laden möchten würde die Änderungen laden, die von der anderen Instanz gespeichert wurden, ohne die Änderungen zu berücksichtigen, die Sie in der aktuellen Instanz vorgenommen haben.

5

Sie können vim unter screen verwenden.

$ screen 
$ vim 

# on another terminal 
$ screen -x 
# the same vim screen 

Wenn Ihr Terminal-Emulator (zB gnome-terminal) unterstützt Tabbing, können Sie es als tabbing verwenden (IMHO, gnome-Terminals' Unterstützung der Tabulatortaste ist besser als vim eigenen, außer vielleicht können Sie nicht kopieren und Einfügen unter verschiedenen vim-Sitzungen, jedoch können Sie stattdessen den System-Copy-Paste-Puffer verwenden: "+ y und" + p).

Dies funktioniert nicht, wenn Sie gvim verwenden.

+0

Wird das nicht einfach spiegeln, was passiert? – Uri

1

Neovim ist ein Projekt, das vim Attach/Detach-Funktion wie tmux geben soll. Diese Funktion ist noch nicht implementiert (19. Juni 2015), aber dies könnte bald kommen.

Es gibt viele andere Kernfunktionen für dieses Projekt, die Sie bei neovim.io sehen können.

+0

Ich denke, ab November 2017 ist dies noch nicht umgesetzt und wird nicht bearbeitet –

Verwandte Themen