Teilen Sie die Abschlüsse zwischen laufenden vim-Instanzen

10

Ich benutze tmuxzum größten Teil anstelle von vimTabulatoren und Splits. Hat vim die Möglichkeit, Abschlüsse (über Ctrlnund Ctrlp) zwischen laufenden Instanzen zu teilen ? Gibt es eine Möglichkeit, es dort einzurichten, wo jeder vimsmit dem Server kommuniziert vim?

Gregory Nisbet
quelle
8
Nein, das geht nicht auf praktische Weise. Vim ist perfekt in der Lage, Dutzende und Dutzende von Puffern zu handhaben, und nutzt seine Kraft.
Romainl
1
@romainl, könnten wir etwas in eine "Abschlussdatei" schreiben lassen, von wo aus vimdie Abschlussliste gelesen und aktualisiert wird ?
J. Chomel

Antworten:

2

Vim kann dieselbe Abschlussdatenbank verwenden, wenn sich die Datenbank außerhalb jeder vim-Instanz befindet.

Zum Beispiel wird die Vervollständigung etwas "geteilt", wenn Sie die ctagsVervollständigung youcompletemeoder ein anderes Plugin verwenden, das externe Prozesse oder Dateien verwendet.

Die Wortvervollständigung ist für Sie nicht sehr nützlich, da nur Wörter in derselben Datei verwendet werden: C-N/C-P

Aber omniund ctagsFertigstellung verwendet ctagsDatenbank (die von gebaut werden sollte exuberant ctagsvorher) und wird von allen Instanzen gemeinsam genutzt werden.

Geben Sie C-X C-Ofür omni-Abschluss, C-X C-]für ctags Abschluss.

Yuriy Ershov
quelle
0

Darin :help i_ctrl-nwird gezeigt, dass Vim die completeOption verwendet, um Wörter zu vervollständigen. Die Hilfe completezeigt weiter, dass die einzige echte Option, etwas zu verwenden, das nicht lokal für die Vim-Instanz ist, die Verwendung einer Wörterbuchdatei ist. Die Frage läuft dann darauf hinaus, eine solche Wörterbuchdatei mit allen vim-Instanzen zu generieren. Sie können dies tun, indem Sie ab und zu alle geöffneten Dateien analysieren. Ich habe jedoch keine Ahnung, welche Auswirkungen dies auf die Leistung haben würde.

Eine andere Möglichkeit wäre die Verwendung einer völlig anderen Mechanik (ctags usw.), aber dies könnte die Funktionalität an anderer Stelle beeinträchtigen, da diese nicht wirklich für die einfache automatische Vervollständigung gedacht waren.

Allgemeiner gesagt, Sie können Ihren Workflow auch ein wenig ändern, um sich mehr an die Art und Weise zu halten, wie Vim verwendet werden soll. Dies würde bedeuten, ein oder mehrere Fenster zu verwenden, um Dinge gleichzeitig zu betrachten und die Puffer häufig zu wechseln. Ein Plugin, das den Schaltteil sehr gut macht, ist ctrlP. Nachdem Sie es per Knopfdruck aktiviert haben, können Sie an verschiedenen Stellen unscharf nach Dateien suchen und so schnell umschalten. Solange Sie sich an den Dateinamen erinnern.

Octaviour
quelle