Gibt es eine Möglichkeit, Vim in den Befehlsmodus zu versetzen, um Wörter aus der aktuellen Datei zu vervollständigen? Angenommen, ich habe diese Datei:
one
two
three
once
und ich gehe in den Kommandozeilenmodus
:myruncommand o|
Dabei |
bezeichnet die Cursorposition. Wie mache ich Vim vollständig one
oder once
wenn ich die Tabulatortaste drücke?
vim
tab-completion
Nickolay Kolev
quelle
quelle
Antworten:
Es ist nativ nicht möglich, aber es dauerte ungefähr eine Minute, um dieses Skript und dieses auf vim.org zu finden .
quelle
Die Antwort von jamesc ist oft die bequemste. Wenn Sie jedoch im Voraus wissen, dass Sie die automatische Vervollständigung für einen Befehl oder eine Suchzeichenfolge oder andere Funktionen verwenden möchten, die nur in einem Puffer verfügbar sind, finden Sie hier eine andere Möglichkeit, um zu den entsprechenden Puffern zu gelangen ::
myruncommand o
Grundsätzlich q :funktioniert das Gleiche wie : Ctrl+ F: Sie können Befehle eingeben, als würden Sie Text in einen Puffer eingeben. In ähnlicher Weise können Sie q /mit / Ctrl+ und + Fbeide Suchzeichenfolgen in einen Puffer eingeben.
quelle
Ctrl+F
, also half mir auch deine Antwort.Obwohl es stimmt, dass dies nicht nativ mit 'tab' abgeschlossen werden kann, besteht die Möglichkeit von:
Eingabe des gewünschten Befehls im Befehlszeilenmodus. Für das obige Beispiel war dies:
Drücken Sie nun
Ctrl-F
, um das Befehlsfenster aufzurufen.A
Bewegen Sie sich zum Ende der Zeile und rufen Sie den Einfügemodus auf.Ctrl-N
/Ctrl-P
, um die Schlüsselwortvervollständigung zu öffnen, und wählen Sie die gewünschte Option aus - in diesem Beispiel beideone
undonce
sollten verfügbar sein, da sie sich in einem offenen Puffer befinden.Ich habe diese Antwort hinzugefügt, weil meine Suche nach "vim vollständiges Wort im Befehlsmodus" mich hierher gebracht hat und es eine praktikable Lösung zu sein scheint, obwohl die Tabulatortaste nicht verwendet wird.
Dies funktioniert bei mir in Vim 7.4
quelle
Ctrl+F
ist in vielen Fällen bequemer. superuser.com/a/1016058/219388Der Abschluss ist verfügbar, wenn Sie den Verlauf des Befehlsmodus eingeben. Sehr praktisch, um zuvor verwendete Befehle zu ändern oder zu wiederholen.
Drücken Sie q: im normalen Modus Befehlshistorie Fenster einzugeben.
Weitere Informationen finden Sie unter http://vim.wikia.com/wiki/Using_command-line_history .
quelle
Ctrl-f
im BefehlszeilenmodusCtrl-w q