¿Directorios de marcadores de ZSH con finalización de pestañas?
-
27-10-2019 - |
Pregunta
Lo que quiero:
cd c/ra<tab>
se completa ~/code/rails-app
y cd c/<tab>
Muestra una lista de DIR dentro de ~/code
Lo que tengo actualmente:
c ra<tab>
se completa c rails-app
Si tengo un directorio ~/code/rails-app
y c <tab>
Muestra una lista de DIR dentro de ~/code
Teniendo esto en mi .zshrc
:
c() { cd ~/code/$1; }
_c() { _files -W ~/code -/; }
compdef _c c
Esta herramienta parece prometedora: https://github.com/flavio/jump Pero me gustaría algo más liviano.
Solución
La finalización de las pestañas como ha descrito, al menos para directorios, debe ser factible por zsh
sin la necesidad de escribir un zsh
función.
Este enlace, por ejemplo, señala que escribir /u/l/b
después pestaña se expande /usr/local/bin
en el aviso.
Esto funciona para mí, si hago un directorio ~/code/rails-app
tal:
zsh% ls ~/code
another-app another-dir rails-app
zsh% ls ~/code/rails-app
one two
después:
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
No puedo señalar que zsh
Opción Esta es: estoy usando un muy bien modificado ~/.zshrc
y fragmentos de oh-my-zsh
. Este puede que ser funcionalidad dada por zsh
sin necesidad de ser habilitado; Si no, detalles en el primer enlace o en algún lugar de oh-my-zsh
o incluso alguna versión del manual ZSH debería ayudar. (Encuentro el manual un poco ... abrumador, por decir lo menos).
No creo que necesite escribir una función para lograr este comportamiento - zsh
Definitivamente es capaz de hacerlo.