I'm just moved from linux to mac, and one of the problems I'm having is that tab completion is only 1 level deep, and I'm not sure how to correct that.

Let me explain by example - when I used git on ubuntu, I'll start typing

$ git

and hit tab, and the shell would complete the command or display the options available for the letter\s I've typed. That's what happens on my mac as well (1 level). However, when I'd continue typing the next part of the command

$ git commit

and hit tab, mac terminal would not complete the next subcommand (for git) as it would in Linux. Same goes for other programs that support this multilevel command completion. I suspect this might be a readline library issue, but I'm not sure which one I should install.

link|improve this question

73% accept rate
It is not a readline issue (in fact, it is not an "issue"), it is because Ubuntu holds your hand with custom packages for bash. – Jed Smith Oct 11 '09 at 18:37
feedback

migrated from stackoverflow.com Oct 11 '09 at 18:54

This question came from our site for professional and enthusiast programmers.

3 Answers

up vote 11 down vote accepted

Download bash_completion and source it from your .bashrc. Then put contrib/completion/git-completion.bash from the git distribution into bash_completion.d.

Alternatively you can install it via MacPorts.

link|improve this answer
thanks, this worked. I added the following in my .bashrc if [ -f /opt/local/etc/bash_completion ]; then source /opt/local/etc/bash_completion fi – sa125 Oct 11 '09 at 20:02
1  
Even better, install it via homebrew: brew install bash-completion – abyx Nov 23 '10 at 7:40
@abyx: chosing the "better" between homebrew and macports is a very subjective thing – hop May 4 '11 at 15:18
feedback

For git there is an option available on compilation to support completion.

If you used port to install Git (which I recommend), you can reinstall git with this command

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

Which will install git with bash completion, git-svn support and docs

link|improve this answer
feedback

This is definitely a bash configuration issue (since I get this behavior on mac + alot more that I have configured it for, like hostname completion) You should look around for power scripts for bash and add them to your profile.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.