répertoires de signets zsh avec complétion?
-
27-10-2019 - |
Question
Ce que je veux:
cd c/ra<tab>
finalise à ~/code/rails-app
et cd c/<tab>
affiche une liste de répertoires dans les ~/code
Ce que j'ai actuellement:
c ra<tab>
à c rails-app
finalise si j'ai un ~/code/rails-app
répertoire et c <tab>
affiche une liste des répertoires dans les ~/code
En ayant dans mon .zshrc
:
c() { cd ~/code/$1; }
_c() { _files -W ~/code -/; }
compdef _c c
Cet outil semble prometteur: https://github.com/flavio/jump mais je comme quelque chose de plus léger.
La solution
fin Tab tels que vous avez décrit, au moins pour les répertoires, devrait être faisable par zsh
sans qu'il soit nécessaire d'écrire une fonction zsh
.
Ce lien , par exemple , les notes qui frappe /u/l/b
puis onglet se développe pour /usr/local/bin
à l'invite.
Cela fonctionne pour moi - si je fais un ~/code/rails-app
de répertoire tel:
zsh% ls ~/code
another-app another-dir rails-app
zsh% ls ~/code/rails-app
one two
alors:
zsh% cd c/ra<TAB> # this expands to 'cd code/rails-app'
zsh% cd c/<TAB><TAB> # Double tab, one to expand "c" to "code",
zsh% # # second gives me the zsh-completion menu
Je ne peux pas souligner l'option de zsh
c'est - j'utilise un ~/.zshrc
assez fortement modifiée et les bits de oh-my-zsh
. Cette peut être une fonctionnalité donnée par zsh
sans avoir besoin d'être activé; sinon, les détails soit dans le premier lien ou quelque part dans oh-my-zsh
ou même une version du manuel zsh devrait Aidez-moi. (Je trouve le manuel un peu ... écrasante, pour le moins, cependant).
Je ne crois pas que vous devez écrire une fonction pour obtenir ce comportement -. zsh
est certainement capable de le faire