Einige der git
Befehle haben viele Optionen, und es wäre oft nützlich, sie nach der gewünschten zu durchsuchen. Ich habe nur nach der Option gesucht, die die TABBreite steuert git-gui
, aber es gibt ungefähr 200 Vervollständigungen für git config
. Eine naheliegende Problemumgehung besteht darin, alle Vervollständigungen in einen Editor zu kopieren und sie zu durchsuchen, aber ich würde es lieber tun
[something] | grep tab
Es gibt keine man
oder info
Seiten für compgen
, help compgen
erklärt nicht einmal die eigenen Optionen, und es gibt keine automatische Vervollständigung für compgen
(wie ist das für Ironie?).
PS: compgen -A
funktioniert nicht.
PPS: Dies ist keine Frage zu git-gui
- Die Lösung für die Frage nach der Registerbreite war an anderer Stelle.
PPPS: Hier geht es nicht um die automatische Vervollständigung von Befehlen, sondern nur um Befehlsparameter .
quelle
Antworten:
Sie können die folgende Funktion verwenden, mit der
sudo
die Vervollständigungsliste auf dieselbe Weise automatisch erstellt wird:wo
_command_offset
ist in Bash-Vervollständigung (Paket) definiert.HINWEIS: Die Funktion muss in einer interaktiven Shell ausgeführt werden (dh, wenn sie sich in einer Datei befindet, muss die Datei aus einer Quelle stammen, anstatt nur ausgeführt zu werden.) Oder die erforderlichen Abschlussregeln / -funktionen werden nicht definiert.
PS.
compgen -A
Funktioniert nur für eingebaute Aktionen. Was Sie hätten versuchen sollen (aber auch nicht), istcompgen -F
(oder tatsächlichcompgen -o bashdefault -o default -o nospace -F _git
). Der Grund, warum dies nicht funktioniert (und doc für integrierte bash-Befehle, einschließlich compgen / complete), ist in bash (1) zu finden .quelle
local COMP_LINE="$*"
)