Wenn ich ein benutzerdefiniertes make
Programm einstelle , gibt es eine Möglichkeit, eine Liste der Optionen zum Ausfüllen von Registerkarten bereitzustellen, die aktiviert werden, wenn ich :make
+ Space+ eingebe Tab?
Mit benutzerdefinierten Befehlen kann ich Folgendes tun:
command! -nargs=* -complete=customlist,MakeComplete -bar MakeGitbook call MakeGitbook(<q-args>)
Gibt es einen ähnlichen Mechanismus für eingebaute Befehle, insbesondere für :make
? Oder sollte ich einfach einen benutzerdefinierten Befehls-Wrapper definieren, der den integrierten aufruft, aber auch die Tab-Vervollständigung hinzufügt?
command-line
autocompletion
Flukus
quelle
quelle
-complete=customlist,MakeComplete
macht schon was du willst? Ich verstehe nicht ganz, wo du feststeckst oder was nicht so funktioniert, wie du es willst.Antworten:
In vim gibt es keinen Mechanismus zum Ändern integrierter Befehle. Dies ist eigentlich eine gute Sache, da Sie sicher sein können, dass das Standardverhalten nicht durch Plugins geändert wird. Auch Plugins selbst können sich auf das Standardverhalten verlassen, sodass eine solche Funktion (zum Ändern eingebauter Befehle) möglicherweise viel Kopfzerbrechen verursachen würde.
Nein. Wenn Sie vim docs ( hier und hier ) überprüfen , werden Sie feststellen, dass dies
:command
nur mit benutzerdefinierten Befehlen funktioniert, die mit Großbuchstaben beginnen sollten (außer Next, das ebenfalls reserviert ist).Ja, das ist der richtige Weg.
quelle