Showing someone zsh for the first time can be a fun experience because it's a shell with many tricks. Usually, all it takes is a short demonstration of zsh's tab-completion powers to captivate your audience. Being able to type gcc -[TAB] to see a list of its command line options is something that most users could never imagine, but zsh is full of surprises when it comes to making interactive shells as functional as possible.
If you've been reading this column for the past few months, you've learned about the zsh shell's (http://www.zsh.org) fabulous tab completion system. By adding the following two lines to your $HOME/.zshrc file, you can use the tab key to not only expand file names, but also get lists of command-line options.