¿Cómo consigo el autocompletado de zsh para completar comodines como bash?

3

En zsh y en bash, si escribo, ls c<TAB>muestra todos los nombres de archivo que comienzan con c. Si, en cambio ls c*<TAB>, escribo, bash se comporta de la misma manera, pero zsh reemplaza el c*con la lista de cada archivo que comienza con c. ¿Hay alguna manera de hacer que zsh se comporte como lo hace bash?

m42a
fuente

Respuestas:

4
setopt GLOB_COMPLETE

De man zshoptions:

GLOB_COMPLETE

Cuando la palabra actual tiene un patrón global, no inserte todas las palabras resultantes de la expansión, sino que genere coincidencias para completarlas y avance por ellas como MENU_COMPLETE. Las coincidencias se generan como si se agregara un '*' al final de la palabra, o se insertara en el cursor cuando se configura COMPLETE_IN_WORD. En realidad, esto usa la coincidencia de patrones, no el glob, por lo que funciona no solo para archivos sino para cualquier finalización, como opciones, nombres de usuario, etc.

Tenga en cuenta que cuando se utiliza el patrón de coincidencia, no se puede utilizar el control de coincidencia (por ejemplo, coincidencia entre mayúsculas y minúsculas). Esta limitación solo se aplica cuando la palabra actual contiene un patrón; simplemente activar la opción GLOB_COMPLETE no tiene este efecto.

mkarasek
fuente
Eso solo reemplaza el patrón con la primera coincidencia en lugar de todas las coincidencias. Solo quiero enumerar los partidos.
m42a
Si sigues presionando la pestaña, debería recorrer las coincidencias. Si no se muestra también la lista de coincidencias, es posible que tenga que meterse con las opciones de finalización de zsh.
mkarasek
Sin embargo, no quiero pasar por las opciones, solo quiero enumerarlas.
m42a
@ m42a: ¿Alguna vez descubriste cómo hacer eso?
@ m42a es posible que desee configurar menu_completey auto_list.
PythonNut