Frage

Manchmal möchte ich einen Dateinamen statt, was für mich zsh Vermutungen. Zum Beispiel habe ich eine PNG-Datei ohne eine richtige .png Suffix, das es ist kein Bild zsh denken läßt, und es wird nicht auflisten, wenn ich Tab, um ein vollständiges Argument von display geben.

Ich frage mich, ob es eine Tastenfolge ist, dass abgeschlossen ist für einen Dateinamen, wo der Kontext ist, wie ^XC für _correct_filename, oder wie man configure zsh das, was zu tun?

War es hilfreich?

Lösung

Sie können einen Schlüssel hinzufügen Bindung zu tun, was Sie wollen:

zle -C complete complete-word complete-files
bindkey '^X\t' complete
complete-files () { compadd - $PREFIX* }

Edit: Added $PREFIX

Sie können diese Zeilen in Ihrer ~/.zshrc Datei hinzufügen.

Das macht den Abschluss Liste aller Dateien, wenn Sie die Taste Strg - x Tab bei jedem Schritt anstelle von Tab . Sie könnten eine andere Tastenkombination, dass zu Ihnen passt wählen.

oder zu ImageMagick Vervollständigungen immer machen alle Dateien, versuchen Bearbeitung (ein Backup zuerst) die Datei /usr/share/zsh/functions/Completion/Unix/_imagemagick (oder ähnlich) und diese ändern, um die bestehende Linie auszukommen, die mit _files beginnt und fügen Sie den neuen gezeigt:

if (( $# )); then
  # _files "$@" -g "*.(#i)(${~formats//:/|})(-.)"
  _files "$@"
  return
fi

Andere Tipps

Dennis' Antwort war erweitern Tilde nicht für mich, so dass ich Sachen wie complete-files: no matches found: ~/ma* bekommen würde, wenn ich versuchte es auf foo ~/ma aufzurufen. Ich habe eine andere in der zsh FAQ finden, die sie erweitern, aber:

zle -C complete-file complete-word _generic
zstyle ':completion:complete-file::::' completer _files
bindkey '^xF' complete-file
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top