- Shared history file. When you type history, you see a history of your commands that you have typed in any shell/terminal, throughout time. I have completely had to re-learn things because the history command on bash let older commands drop out :). It defaults to 10k commands, that should do for a while.
- Case-insensitive tab completion - just barrel right through all of those Upper Case Mac Directories, and don't stop to hit tab!
- Ignore dotfiles tab completion - barrel right past .svn and friends
- Spelling correct! When I was writing #1 above, I wanted to find what HISTSIZE is by default, and I typed "exho HISTSIZE". zsh responded with "zsh: correct 'exho' to 'echo' [nyae]? ".
- I haven't trained my fingers to do this one, but if you want to go to, say, /usr/local/Cellar/Rabbit, you can type "cd /u/l/c/r" and then tab: if it's unambiguous (it was for me), it expands. Note I have a few possibilities for "/usr/l<tab>" - this suggests ZSH was smart enough to look ahead to try to resolve that ambiguity.
- Smart tab completion for command arguments: kill <tab> lists PIDs for you. ssh <tab> lists hosts for you. I can't wait to find other examples of this.
I'm sure bash can do all of this as well, I was just impressed at how oh-my-zsh had me up and running on this so fast.
What am I missing?