Me gustaría un tcsh'ism que no he podido encontrar: en una línea en blanco sin contenido, quiero presionar la tecla de tabulación y ver el equivalente de un ls. Es decir que quiero
$ <tab>
para hacer otra cosa y luego darme un \ t. He encontrado recursos fantásticos para completar comandos, pero no para este caso base. ¡Cualquier ayuda con esto sería genial! Gracias.
shell
configuration
zsh
kristopolous
fuente
fuente

El comportamiento de Tabal principio de una línea está controlado por el estilo . Sin embargo, solo hay dos comportamientos compatibles:
insert-tabzstyle ':completion:*' insert-tab falsezstyle ':completion:*' insert-tab truezstyle ':completion:*' insert-tab pending[=N]Si solo desea completar los comandos en esa posición,
zstyle ':completion:*' insert-tab truelo hará. Si desea algo diferente, como enumerar los archivos en el directorio actual, deberá modificarlos_main_complete.Se discutió un hilo reciente en la lista de trabajadores de zsh
insert-tab.fuente
_main_completees parte del código zsh que implementa la finalización. EstáCompletion/Base/Core/_main_completeen el árbol de origen, normalmente instalado en una ubicación como/usr/share/zsh/functions/Completion/Base/_main_complete.-command-no causa que <Tab> enumere los archivos en el directorio actual. Todo lo que has hecho es restringir las coincidencias para omitir los nombres de los comandos. Pero solo se enumeran las cosas que se completarían en esta posición, por lo que no se incluyen los archivos en el directorio actual (solo directorios y ejecutables dependiendo deautocdyPATH).Aquí está la implementación completa de la lista automática de tcsh en zsh, cuando presiona tab en la línea vacía
Aquí está:
Si desea emular tcsh más de cerca, también agregue esto a su .zshrc:
fuente
Escribí este widget zsh que mejora el uso de TAB, no solo en una línea vacía, sino también mientras está escribiendo un comando.
Se puede configurar para anteponer "cd" o "./" en aquellos casos con una variable global.
export TAB_LIST_FILES_PREFIXfuente