MacPorts vem quebrando a conclusão do bash por um tempo agora. Sugiro que você tente Fink ou HomeBrew .
Acabei de seguir as instruções @ esta questão para obter o autocompletar do git no terminal. Aqui estão os passos que fiz:
port install bash-completion
Adicionado
if [ -f /opt/local/etc/bash_completion ]; then
. /opt/local/etc/bash_completion
echo "bash completion loaded"
fi
para o meu ~ / .profile
port update git-core +svn +bash_completion +doc
Então eu reiniciei o terminal, ele me mostrou "bash completion loaded" então obviamente o arquivo existe, mas a conclusão da tabulação ainda funciona apenas nos arquivos. Nada de mágico acontece depois de digitar git
e depois clicar na aba.
Eu examinei /opt/local/etc/bash_completion.d/
e ele me dá 149 arquivos, incluindo
git
, java
, man
, port
. Eu tentei digitar esses comandos e, em seguida, bater guia, mas nada funcionou lá também.
Alguém tem uma ideia do que eu fiz de errado? Talvez eu estraguei uma variável de ambiente ou algo assim. Alguém que tenha a instalação do bash-completion me diz um comando onde deve funcionar, como port up
e depois aperte tab - > %código%.
Obrigado ;-)
Encontrei outro link que descreve minha abordagem: Como obter o git-completion.bash para funcionar no Mac OS X?
Acho que a maneira mais fácil é mudar para o zsh. Há alguma configuração que precisa ser feita, mas é sobre isso.
Adicionei isso ao meu arquivo ~ / .zshenv
#******************************************************************************************
# From http://zshwiki.org/home/examples/compquickstart
zmodload zsh/complist
autoload -U compinit && compinit
_force_rehash() {
(( CURRENT == 1 )) && rehash
return 1 # Because we didn't really complete anything
}
zstyle ':completion:::::' completer _force_rehash _complete _approximate
zstyle -e ':completion:*:approximate:*' max-errors 'reply=( $(( ($#PREFIX + $#SUFFIX) / 3 )) )'
zstyle ':completion:*:descriptions' format "- %d -"
zstyle ':completion:*:corrections' format "- %d - (errors %e})"
zstyle ':completion:*:default' list-prompt '%S%M matches%s'
zstyle ':completion:*' group-name ''
zstyle ':completion:*:manuals' separate-sections true
zstyle ':completion:*:manuals.(^1*)' insert-sections true
zstyle ':completion:*' menu select
zstyle ':completion:*' verbose yes
Consegui a conclusão do Bash funcionando via Fink.
fink install bash-completion
Após o fornecimento do Fink, a conclusão da tabulação funciona para o Bash. Isso inclui os comandos do Git, como você descreveu acima.
Para mim em tmux
funcionou, mas na planície iTerm2 não. Solução foi definir o comando para /opt/local/bin/bash -l
para o meu perfil iTerm2 usado.
Eu encontrei a solução no link
Tags bash git terminal macos autocomplete