Completamento della scheda Terminale [duplicato]


15

Possibile duplicato:
completamento Bash per comandi in Mac OS

Sono appena passato da Linux a Mac e uno dei problemi che sto riscontrando è che il completamento della scheda è profondo solo 1 livello e non sono sicuro di come correggerlo.

Lasciatemi spiegare con l'esempio: quando ho usato git su Ubuntu, inizierò a digitare

$ git

e premi tab e la shell completerebbe il comando o visualizzerebbe le opzioni disponibili per la lettera che ho digitato. Questo è ciò che accade anche sul mio Mac (1 livello). Tuttavia, quando continuerei a digitare la parte successiva del comando

$ git commit

e premi tab, mac terminal non completerebbe il prossimo sottocomando (per git) come in Linux. Lo stesso vale per altri programmi che supportano il completamento di questo comando multilivello. Ho il sospetto che questo potrebbe essere un problema di libreria readline, ma non sono sicuro quale dovrei installare.


Non è un problema di readline (in realtà, non è un "problema"), è perché Ubuntu ti tiene per mano con pacchetti personalizzati per bash.
Jed Smith,

Questo è sicuramente un problema di configurazione di bash (dal momento che ottengo questo comportamento su mac + molto altro per cui l'ho configurato, come il completamento del nome host) Dovresti cercare gli script di alimentazione per bash e aggiungerli al tuo profilo.
Shane C. Mason,

Risposte:


13

Scarica bash_completion e procuralo dal tuo .bashrc. Quindi metti contrib/completion/git-completion.bashdalla distribuzione git in bash_completion.d.

In alternativa puoi installarlo tramite MacPorts .


grazie, ha funzionato. Ho aggiunto quanto segue nel mio .bashrc se [-f / opt / local / etc / bash_completion]; quindi fonte / opt / local / etc / bash_completion fi
sa125,

1
Ancora meglio, installalo tramite homebrew: brew install bash-completamento
abyx

@abyx: scegliere il "meglio" tra homebrew e macports è una cosa molto soggettiva

2

Per git è disponibile un'opzione per la compilazione per supportare il completamento.

Se hai usato la porta per installare Git (che raccomando), puoi reinstallare git con questo comando

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

Che installerà git con completamento bash, supporto git-svn e documenti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.