2015-01-30 10 views
6

Fedora kommt mit "gstack" und eine Reihe von "gst-" Programme, die in meinen Bash-Vervollständigungen erscheinen, wenn ich versuche, schnell meine Git-Aliase einzugeben. Sie sind natürlich zusammen mit tausend anderen Programmen unter/usr/bin installiert, sodass ich ihr Verzeichnis nicht einfach aus meinem PATH entfernen kann. Gibt es eine Möglichkeit in Linux, diese spezifischen Programme für die Fertigstellung aufzulisten?Blacklist-Programm von Bash-Abschluss

Ich habe versucht, die Umgebungsvariablen FIGNORE und GLOBIGNORE, aber sie funktionieren nicht, es sieht aus wie sie nur für Dateivervollständigung sind, nachdem Sie einen Befehl eingegeben haben.

+0

Warum setzen Sie nicht einige Aliase in bash statt '.gitconfig'? – svlasov

+0

Sie sind in bash gesetzt – Angus

+0

Einige meiner am häufigsten verwendeten Aliase sind 'gco = 'git checkout'',' ga =' git add'', 'gc = 'git commit'',' gd =' git diff''. Es ist also nicht notwendig, die Vervollständigung für zwei Buchstaben zu verwenden. – svlasov

Antwort

1

Ich weiß nicht, ob Sie bestimmte Dateien in die Blacklist aufnehmen können, aber es ist möglich, aus Ihrem Befehlsverlauf anstelle des Pfades zu vervollständigen. Um das zu tun, die folgende Zeile ~/.inputrc hinzufügen:

TAB dynamic-complete-history

+0

Dies ist eine interessante Funktion, aber nicht wirklich eine direkte Lösung für das Problem. – Angus

0

FIGNORE nur für SUFFIXES ist. Es setzt voraus, dass Sie aus irgendeinem Grund eine ganze Klasse von Dateien auf die schwarze Liste setzen möchten. Du musst also den ersten Brief abschlagen.

z. Zur Beseitigung gstack von Auto-Vervollständigung:

FIGNORE=stack

gstack befreien, sondern auch alles, was los sonst in stack endet.