La finalización de la pestaña ZSH de los comandos git es muy lenta. ¿Cómo puedo apagarlo?


18

Si escribo:

rm <TAB>

Veré posibles finalizaciones casi al instante.

Sin embargo, si escribo:

git rm <TAB>

Se bloqueará durante varios segundos si está en un repositorio de git, o no mostrará ninguna finalización si estoy fuera de un repositorio de git.

¿Cómo puedo solucionar este comportamiento?

No hay nada en mi .zshrc que parezca que tenga que ver con git: - /


+1 Esto me vuelve tan loco que he conectado mi cerebro para que no golpee <TAB>cuando uso git
— Christopher

Respuestas:


26

Finalmente me molesté en buscar esto en Google y se me ocurrió esta respuesta SO, que funcionó perfectamente para mí. Agregue esto a .zshrc:

__git_files () { 
    _wanted files expl 'local files' _files     
}

También hay un hilo profundo de la lista de correo aquí que explica lo que zshestá haciendo tomar tanto tiempo.


1
Esto no funcionó para mí. Estoy cargando los siguientes complementos de oh-my-zsh: plugins = (git gitfast last-working-dir zeus). Cargué la función anterior después de los complementos.
— Justingordon

1
Yo tuve el mismo problema. Comentando para confirmar el éxito: en OSX 10.8.5, zsh 4.3.11, git 1.8.2, esa entrada .zshrc marcó la diferencia. Sin ella, la CPU se fija regularmente al 100%. Con él, la finalización de pestañas parece casi la misma para los comandos git que cualquier otra. ¡Gracias! :)
— cada

Asegúrese de poner este comando antes de sus complementos zsh, de lo contrario podría terminar con un autocompletado rápido, pero errores una vez que intente ejecutar el comando git.
— Simon

1

Aquí hay otra opción: la finalización oficial de Git zsh: git-completar.zsh . Todo lo que necesitas hacer es descargarlo ~/.zsh/_gity asegurarte de que esté en tu fpath:

fpath=(~/.zsh $fpath)

Me parece interesante que este hilo se mencione en otra respuesta; Comencé ese hilo y escribí la finalización oficial de Git zsh como resultado.

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.