Acabo de cambiar de bash a usar zsh 4.3.4 en Ubuntu Hardy. Estoy desarrollando con git y me encuentro luchando constantemente con las finalizaciones de git predeterminadas: la finalización del nombre de archivo intenta ser inteligente al detectar lo que ha agregado o eliminado (usando archivos git-ls), pero a veces las cosas se equivocan --- por ejemplo, si está en un subdirectorio. Tampoco conoce mis alias personalizados de git (por ejemplo, git ci como un alias para commit).
Superusuarios de zsh, ¿cómo debo mejorar esta situación?
Estos son algunos de mis pensamientos, aunque no sé cómo implementarlos, ya que soy nuevo en zsh, así que tal vez puedas ayudar u ofrecer los tuyos propios:
- Deshabilite la finalización del nombre de archivo git, dejando solo la finalización de branch / tag / command-name / command-option.
- Reemplace la finalización del nombre de archivo "inteligente" con la finalización del nombre de archivo zsh normal.
- Obtenga un archivo de finalización _git más nuevo, si corrige estos errores, y anule el sistema.
¡Gracias!
sudo mv /usr/share/zsh/functions/Completion/Unix/_git /usr/share/zsh/functions/Completion/Unix/OFF_git
Respuestas:
Intente actualizar a la última versión de Zsh. Acabo de actualizar de 4.3.4 a 4.3.10 y al menos soluciona el problema con los alias Git que no se completan.
En lugar de piratear mi instalación, agregué esto a mi local
.zshrc
:fuente
Para proyectos grandes, incluso los scripts de finalización de git más nuevos son demasiado lentos. Para deshabilitarlos y simplemente usar la finalización normal del archivo, coloque el siguiente comando en su .zshrc:
fuente