In zsh
hat der cd
Befehl eine aus zwei Argumenten bestehende Form: cd OLD NEW
ändert sich zu ${PWD/OLD/NEW}
. Mit dem neuen Vervollständigungssystem kann zsh vervollständigen NEW
: Das zweite Argument wird auf der Grundlage dessen vervollständigt, was ersetzt werden OLD
kann, um ein vorhandenes Verzeichnis zu erhalten. Das erste Argument wird jedoch nur für vorhandene Verzeichnisse ausgeführt.
Wie kann ich zsh dazu bringen OLD
, zusätzlich zum Vervollständigen vorhandener Verzeichnisse Vervollständigungen anzubieten, für die Werte möglich sind ?
Zum Beispiel, wenn das aktuelle Verzeichnis /path/to/foo
und es gibt auch Verzeichnisse /also/to/foo
und /path/to/foo/prime
dann cd p
Tabvervollständigt p
zu prime
. Wenn ich ausführen cd path also
möchte, möchte ich, dass zsh auch path
als Abschluss angeboten wird. Wie?
Die Verwendung von bereits eingegebenen Werten des zweiten Arguments zur Einschränkung der Möglichkeiten für das erste Argument wäre ein Plus, aber auch das unabhängige Vervollständigen des ersten Arguments wäre in Ordnung.
cd p also<Left*5><Tab>
: Wenn ich drücke, <Tab>
während sich der Cursor in der Liste befindet also
, erwarte ich, dass der Vorgang also
abgeschlossen ist, nicht p
.
cd t<tab>
sollte es anbieten th/to/foo/prime
und to/foo/prime
? Oder sollte es sich nur auf Verzeichnisgrenzen beschränken?
cd p also <Tab>
odercd p also <left arrow x 5> <Tab>
?