Conclusão da guia Terminal [duplicado]

15

Possível duplicado:
conclusão de bash para comandos no Mac OS

Acabei de mudar do linux para o mac, e um dos problemas que estou tendo é que o preenchimento de guias tem apenas 1 nível de profundidade e não tenho certeza de como corrigir isso.

Deixe-me explicar por exemplo - quando usei git no ubuntu, vou começar a digitar

$ git

e pressione a guia, e o shell concluirá o comando ou exibirá as opções disponíveis para as letras que eu digitei. É o que acontece no meu Mac também (1 nível). No entanto, quando eu continuaria digitando a próxima parte do comando

$ git commit

e aperte tab, o terminal mac não completaria o próximo subcomando (para git) como faria no Linux. O mesmo vale para outros programas que suportam essa conclusão de comando em vários níveis. Eu suspeito que isso possa ser um problema da biblioteca readline, mas não tenho certeza de qual devo instalar.

sa125
fonte
Não é um problema de linha de leitura (na verdade, não é um "problema"), é porque o Ubuntu segura sua mão com pacotes personalizados para o bash.
Jed Smith
Definitivamente, esse é um problema de configuração do bash (já que eu recebo esse comportamento no mac + muito mais do que eu o configurei, como a conclusão do nome do host). Você deve procurar scripts avançados para o bash e adicioná-los ao seu perfil.
217 Shane C. Mason

Respostas:

13

Faça o download do bash_completion e obtenha -o no seu .bashrc. Em seguida, coloque a contrib/completion/git-completion.bashpartir da distribuição git em bash_completion.d.

Como alternativa, você pode instalá-lo via MacPorts .


fonte
obrigado, isso funcionou. Eu adicionei o seguinte no meu .bashrc if [-f / opt / local / etc / bash_completion]; em seguida, source / opt / local / etc / bash_completion fi
sa125
11
Mesmo melhor, instalá-lo via homebrew: Brew instalar bash-completion
abyx
@abyx: escolhendo o "melhor" entre homebrew e MacPorts é um muito coisa subjetiva
2

Para o git, existe uma opção disponível na compilação para dar suporte à conclusão.

Se você usou o port para instalar o Git (que eu recomendo), você pode reinstalar o git com este comando

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

Que instalará o git com a conclusão do bash, o suporte ao git-svn e os documentos

Aurélien Bottazini
fonte