¿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?

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.