Ho installato Mercurial (1.4.3-1) su ubuntu e non esegue il completamento schede in bash per impostazione predefinita. Qual è il modo più semplice per abilitare questa funzione?Abilita completamento scheda bash per Mercurial (hg)
risposta
Installa il pacchetto di completamento bash in Linux (dipende dalla distribuzione Linux in uso).
Poi vai a /etc/bash_completion.d/ e creare un file chiamato hg
e mettere il contenuto di questo script (sotto) in un file creato hg
http://fts.ifac.cnr.it/cgi-bin/dwww/usr/share/doc/bash/completion-contrib/hg
Sfortunatamente il collegamento sopra non sembra funzionare più - risultati in un 403. – robjohncox
È necessario
- Installare un pacchetto aggiornato per Mercurial, vedere Mercurial PPA. Questo ti darà un file
/etc/bash_completion.d/mercurial
con il codice di completamento per Mercurial. È possibile generare questo file direttamente per abilitare il supporto di completamento per Mercurial.
È inoltre possibile abilitare il supporto di completamento per tutti i programmi:
Installare il pacchetto
bash-completion
:aptitude install bash-completion
.Fonte
/etc/bash_completion
nel file~/.bashrc
:# Use bash-completion, if available if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
Ciò consentirà il completamento per tutti i comandi, tra cui Mercurial.
curl https://www.mercurial-scm.org/repo/hg/file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash
Lo script di completamento automatico mercuriale sembra essere mantenuto qui:
https://www.mercurial-scm.org/repo/hg/file/tip/contrib/bash_completion
source
questo script nella vostra .bashrc
o equivalente
Dal momento che è né etichettato né dal titolo "ubuntu", e perché googling con fedora porta anche qui, io aggiungo una variazione sul risposta di Martin che funziona facendo riferimento /etc/bash_completion.d/mercurial.sh
invece di /etc/bash_completion
nel vostro ~/.bashrc
:
# Use bash-completion, if available if [ -f /etc/bash_completion.d/mercurial.sh ]; then . /etc/bash_completion.d/mercurial.sh fi
Non sono sicuro se il sistema operativo rende questa distinzione necessaria, ma questo funziona per me su Fedora da 11 a 20.
Correzione: Fedora 11 e Fedora 20. (Non testato 12-19.)
La posizione sceneggiatura bash_completion è cambiato quindi è necessario fare
curl https://www.mercurial-scm.org/repo/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash
invece di
curl http://www.selenic.com/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash
Questa risposta è multipiattaforma e non ha bisogno di Ubuntu. L'ho usato su OS X. Dovrebbe funzionare ovunque tu abbia 'bash',' curl' (e 'hg' ;-). – lkuty
Ha funzionato per me su OSX. Grazie! – Brodan
Dovresti aggiornarlo per includere l'aggiunta di 'source ~/.hg-completion.bash' nel tuo' .bashrc' in modo da non doverlo eseguire in ogni nuova shell. – Brodan
Si dovrebbe considerare l'utilizzo di una nuova versione Mercurial. Sono disponibili repository PPA per Ubuntu che è possibile abilitare per ottenere il normale comportamento di aggiornamento automatico di Mercurial in modo uniforme che non ti lascerà più di un anno indietro: https://launchpad.net/~mercurial-ppa/+ archive/releases –