directory segnalibro zsh con il completamento scheda?
-
27-10-2019 - |
Domanda
Quello che voglio:
completa l'cd c/ra<tab>
a ~/code/rails-app
e cd c/<tab>
mostra un elenco di dirs all'interno ~/code
Quello che ho attualmente:
completa l'c ra<tab>
a c rails-app
se ho una directory ~/code/rails-app
e c <tab>
mostra un elenco di dirs all'interno ~/code
Per avere questo nel mio .zshrc
:
c() { cd ~/code/$1; }
_c() { _files -W ~/code -/; }
compdef _c c
Questo strumento sembra essere molto promettente: https://github.com/flavio/jump ma mi piacerebbe come qualcosa di più leggero.
Soluzione
completamento Tab, come hai descritto, almeno per le directory, dovrebbe essere fattibile dal zsh
senza la necessità di scrivere una funzione zsh
.
Questo collegamento , per esempio , le note che digitando /u/l/b
poi scheda espande al /usr/local/bin
sul prompt.
Questo funziona per me - se faccio una directory ~/code/rails-app
quali:
zsh% ls ~/code
another-app another-dir rails-app
zsh% ls ~/code/rails-app
one two
quindi:
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
Non riesco a sottolineare quale opzione zsh
questo è - Sto utilizzando un ~/.zshrc
e pezzi di oh-my-zsh
. Questo potrebbe essere funzionalità data dal zsh
senza bisogno di essere attivato; in caso contrario, i dettagli in entrambi il primo anello o da qualche parte in oh-my-zsh
o anche qualche versione del manuale ZSH dovrebbe Aiuto. (Trovo il un piccolo manuale ... travolgente, a dir poco, però).
Non credo che è necessario scrivere una funzione per ottenere questo comportamento -. zsh
è sicuramente in grado di farlo