If you use the command line alot on Unix, Linux or Mac (I know it is a unix) you might be interested in some options that you can set in your ~/.inputrc file.
If the file does not exist you can just create it.
$ cd ~
$ vim ~/.inputrc
My favourite option is (just enter it any where in the file):
set completion-ignore-case on
This makes tab completion non-case sensitive, since discovering this I have cut down massively on the amount of backspace I have to type to get the tab completion I wanted.
Another option that may be useful is:
set match-hidden-files off
Which stops tab completion using hidden files, but since I edit my .bashrc .inputrc etc alot I often do want to tab complete hidden files.
For more info on options just have a look at: