¿Cómo evito que ZSH realice un ciclo a través de finalizaciones coincidentes y en su lugar simplemente presente una lista de posibilidades restantes en una lista?
En mis instalaciones de sistema operativo más recientes, comencé a tener un comportamiento de ciclo ZSH al presionar la pestaña. No me gusta y prefiero que solo me muestre una lista de coincidencias. Mis instalaciones de sistema operativo más antiguas tienen esto, así que supongo que la causa es alguna configuración predeterminada en una versión más nueva de Zsh. Intenté buscar en Google y diferenciar mis variables de entorno ( env
resultado; puedo incluirlas si ayuda, pero será muy largo) pero no puedo encontrar las configuraciones correctas.
Aquí está la información de mi entorno:
Funciona como se desea en los siguientes sistemas (las listas coinciden cada vez que presiono el tabulador)
zsh 4.3.12 (i386-apple-darwin11.2.0)
,Darwin macbookair 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 i386 MacBookAir4,2 Darwin
zsh 5.1.1 (i686-ubuntu-linux-gnu)
,Linux nuc2017 4.4.0-96-generic #119-Ubuntu SMP Tue Sep 12 14:58:51 UTC 2017 i686 i686 i686 GNU/Linux
- nueva instalación de Ubuntu
zsh 5.0.8 (x86_64-apple-darwin15.0)
,Darwin Sridhars-Mac-mini.local 15.3.0 Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64 i386 Macmini6,1 Darwin
No funciona como se desea (recorre las coincidencias cada vez que presiono la pestaña)
zsh 5.1.1 (x86_64-ubuntu-linux-gnu)
,Linux nuc 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
- dist actualicé mi Ubuntu desde una versión anterior
- OS X Sierra (información de la versión no disponible; está en la computadora de mi trabajo)
Cosas que he probado y que no funcionan:
unsetopt menu_complete
Respuesta1
Lo que estás buscando essetopt noautomenu
Verhttps://serverfault.com/questions/109207/how-do-i-make-zsh-completion-act-more-like-bash-completionpara obtener una lista completa de opciones
Respuesta2
Si tiene una instalación limpia de Zsh con solo esto en su ~/.zshrc
archivo
autoload -Uz compinit && compinit -C
luego muestra una lista de finalizaciones la primera vez que presionas el tabulador.
Sin embargo, si agrega
unsetopt AUTO_LIST
entonces esto ya no sucede y la finalización comienza a completarse inmediatamente.
Para ver si esta opción se ha desarmado, haga
setopt
que muestra todas las opciones que son diferentes de las predeterminadas. Si la salida incluye noautolist
, entonces AUTO_LIST
se ha desarmado.