Finalización de la pestaña de terminal [duplicado]

15

Posible duplicado:
finalización de Bash para comandos en Mac OS

Me acabo de mudar de Linux a Mac, y uno de los problemas que tengo es que la finalización de la pestaña tiene solo 1 nivel de profundidad, y no estoy seguro de cómo corregir eso.

Déjame explicarte con un ejemplo: cuando use git en ubuntu, comenzaré a escribir

$ git

y presione la pestaña, y el shell completará el comando o mostrará las opciones disponibles para la letra que he escrito. Eso es lo que sucede también en mi Mac (1 nivel). Sin embargo, cuando seguiría escribiendo la siguiente parte del comando

$ git commit

y presione tab, el terminal mac no completaría el siguiente subcomando (para git) como lo haría en Linux. Lo mismo ocurre con otros programas que admiten esta finalización de comandos multinivel. Sospecho que esto podría ser un problema de la biblioteca readline, pero no estoy seguro de cuál debo instalar.

sa125
fuente
No es un problema de readline (de hecho, no es un "problema"), es porque Ubuntu te ayuda con paquetes personalizados para bash.
Jed Smith
Este es definitivamente un problema de configuración de bash (ya que obtengo este comportamiento en mac + mucho más de lo que lo he configurado, como la finalización del nombre de host) Debería buscar scripts de potencia para bash y agregarlos a su perfil.
Shane C. Mason

Respuestas:

13

Descarga bash_completion y obtenlo de tu .bashrc. Luego poner contrib/completion/git-completion.bashde la distribución git en bash_completion.d.

Alternativamente, puede instalarlo a través de MacPorts .


fuente
Gracias, esto funcionó. Agregué lo siguiente en mi .bashrc if [-f / opt / local / etc / bash_completion]; luego source / opt / local / etc / bash_completion fi
sa125
1
Aún mejor, instálelo a través de homebrew: brew install bash-complete
abyx
@abyx: elegir el "mejor" entre homebrew y macports es algo muy subjetivo
2

Para git hay una opción disponible en compilación para admitir la finalización.

Si usó el puerto para instalar Git (que recomiendo), puede reinstalar git con este comando

sudo port install git-core +svn+bash_completion+doc

Que instalará git con bash complete, soporte de git-svn y documentos

Aurélien Bottazini
fuente