2011-10-24 12 views
7

He instalado Mercurial (1.4.3-1) en ubuntu y no completa la tabulación en bash de manera predeterminada. ¿Cuál es la forma más sencilla de habilitar esta función?Habilitar la finalización de la pestaña bash para Mercurial (hg)

+2

Usted realmente debe considerar el uso de una versión más reciente de Mercurial. Hay repositorios de PPA disponibles para Ubuntu que pueden permitir que su comportamiento normal de actualización automática de Mercurial se desarrolle sin interrupciones y que no le deje más de un año atrás: https://launchpad.net/~mercurial-ppa/+ archive/releases –

Respuesta

12

Es necesario

  • Instale un paquete actualizado para Mercurial, consulte el Mercurial PPA. Esto le dará un archivo /etc/bash_completion.d/mercurial con el código de finalización para Mercurial. Puede obtener este archivo directamente para habilitar el soporte de finalización para Mercurial.

También puede habilitar el soporte de finalización para todos los programas:

  • Instalar el paquete de bash-completion: aptitude install bash-completion.

  • Fuente /etc/bash_completion en su archivo ~/.bashrc:

    # Use bash-completion, if available 
    if [ -f /etc/bash_completion ]; then 
        . /etc/bash_completion 
    fi 
    

    Esto permitirá la finalización de todos los comandos, incluyendo Mercurial.

0

Dado que no es ni etiquetada ni titulado "ubuntu", y porque Google con sombrero de fieltro también conduce aquí, voy a añadir una variación en la respuesta de Martin que funciona haciendo referencia /etc/bash_completion.d/mercurial.sh en lugar de /etc/bash_completion en su ~/.bashrc:

# Use bash-completion, if available if [ -f /etc/bash_completion.d/mercurial.sh ]; then . /etc/bash_completion.d/mercurial.sh fi

No estoy seguro si el sistema operativo hace que esta distinción es necesario, pero esto funciona para yo en Fedora 11 a 20.

Corrección: Fedora 11 y Fedora 20. (No probado 12-19.)

2

La ubicación del script bash_completion ha cambiado por lo que hay que hacer

curl https://www.mercurial-scm.org/repo/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash 

en lugar de

curl http://www.selenic.com/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash 
+0

Esta respuesta es multiplataforma y no necesita Ubuntu. Lo usé en OS X. Debería funcionar en todas partes donde tengas 'bash',' curl' (y 'hg' ;-). – lkuty

+0

Funcionó para mí en OSX. ¡Gracias! – Brodan

+0

Debe actualizar esto para incluir agregar 'source ~/.hg-completion.bash' en su' .bashrc' para que no tenga que ejecutar esto en cada shell nuevo. – Brodan

Cuestiones relacionadas