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.

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top