git bash zsh git-bash zsh-completion

La finalización automática de ZSH para git lleva una cantidad de tiempo considerable, ¿puedo desactivarlo u optimizarlo?



repository github oh my zsh (5)

De acuerdo con la respuesta de git bash auto complete lento en windows 7 x64 , git 2.13 viene con un git-completion.bash más rápido

La función de autocompletar de la pestaña de Git es útil para proyectos pequeños, pero actualmente estoy trabajando en dos grandes proyectos que usan git y para estos es peor que inútil. Cada vez que escribo, digamos, git add forms<tab> , git tarda 20 segundos o más en encontrar el archivo (en este ejemplo, forms.py), y en este intervalo de tiempo no puedo hacer nada más en el terminal. ¿Hay alguna manera de desactivar la función de autocompletar, o de alguna manera hacerlo más rápido?



No es git auto completar los nombres de los archivos, es tu shell. ¿Tiene el mismo retraso al hacer, por ejemplo, "cat forms <tab>"?

Echa un vistazo a esta publicación con problemas similares:

http://talkings.org/post/5236392664/zsh-and-slow-git-completion

Esta publicación sugiere agregar lo siguiente a tu .zshrc:

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

EDITAR: Aquí está el texto original de ese post

Encontré muchas publicaciones que se relacionan con quejas acerca de cuán dolorosamente lento puede ser la finalización automática en grandes repositorios. Hubo varios parches sugeridos y sugerencias para cargar el último zsh. Tal vez una de esas cosas funcionaría, pero lo único que quiero es que complete los nombres de las ramas y los archivos tal como están en el sistema de archivos. No encontré ninguna sugerencia sobre cómo obtener este comportamiento, así que lo resolví por mí mismo. Pensé que compartiría esto con cualquiera que pudiera beneficiarse de ello. Acabo de agregar lo siguiente a mi archivo .zshrc:

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

Ahora puedo ejecutar comandos de git y obtener una finalización casi instantánea mientras sigo obteniendo una finalización de archivo similar a la que proporcionaría ls.


No tengo experiencia con zshell, pero obtuve esta respuesta en otro foro. Debe incluir esta línea en su archivo .zshrc:

compdef -d git


Una solución muy rápida y sucia es eliminar el siguiente archivo responsable de la finalización automática.

/usr/local/git/contrib/completion/git-completion.bash