Ich hätte gerne einen Tcsh'ism, den ich nicht finden konnte: In einer leeren Zeile ohne Inhalt möchte ich die Tabulatortaste drücken und das Äquivalent eines ls sehen. Das heißt, ich will
$ <tab>
etwas anderes zu tun, als mir ein \ t zu geben. Ich habe fantastische Ressourcen für die Befehlsvervollständigung gefunden, aber nicht für diesen Basisfall. Jede Hilfe dazu wäre toll! Vielen Dank.
shell
configuration
zsh
kristopolous
quelle
quelle
Das Verhalten Tabam Zeilenanfang wird durch den Stil gesteuert . Es gibt jedoch nur zwei unterstützte Verhaltensweisen:
insert-tab
zstyle ':completion:*' insert-tab false
zstyle ':completion:*' insert-tab true
zstyle ':completion:*' insert-tab pending[=N]
Wenn Sie nur Befehle an dieser Position ausführen möchten, reicht
zstyle ':completion:*' insert-tab true
dies aus. Wenn Sie etwas anderes möchten, z. B. das Auflisten der Dateien im aktuellen Verzeichnis, müssen Sie Änderungen vornehmen_main_complete
.Ein aktueller Thread auf der Zsh-Worker-Liste wurde diskutiert
insert-tab
.quelle
_main_complete
ist Teil des zsh-Codes, der die Vervollständigung implementiert. Es befindet sich imCompletion/Base/Core/_main_complete
Quellbaum und wird normalerweise an einem Ort wie installiert/usr/share/zsh/functions/Completion/Base/_main_complete
.-command-
führt nicht dazu, dass <Tab> die Dateien im aktuellen Verzeichnis auflistet . Alles, was Sie getan haben, ist, die Übereinstimmungen so einzuschränken , dass Befehlsnamen weggelassen werden. Es werden jedoch nur Dinge aufgelistet, die an dieser Position erledigt würden, also keine Dateien im aktuellen Verzeichnis (nur Verzeichnisse und ausführbare Dateien abhängig vonautocd
undPATH
).Hier ist die vollständige Implementierung der Autoliste von tcsh in zsh, wenn Sie in einer leeren Zeile die Tabulatortaste drücken
Hier ist es:
Wenn Sie tcsh genauer emulieren möchten, fügen Sie dies auch Ihrer .zshrc hinzu:
quelle
Ich habe dieses zsh-Widget geschrieben, das die Verwendung von TAB verbessert, nicht nur in einer leeren Zeile, sondern auch während Sie einen Befehl eingeben.
Es kann so konfiguriert werden, dass "cd" oder "./" in diesen Fällen einer globalen Variablen vorangestellt wird.
export TAB_LIST_FILES_PREFIX
quelle