Como lo mencionaron otros, el autocompletado de zsh es excelente.
Puede configurar su propio autocompletado para comandos personalizados sin demasiada molestia también. Para tabular nombres de usuario completos como argumentos para dedo:
# ~/.zshrc
function userlist {
reply=(`users | tr ' ' '\n' |sort -u `);}
compctl -K userlist finger
set COMPLETE_ALIASES
Otras opciones que me gusta configurar:
# turn on spelling correction
setopt correct
# don't save duplicates in command history
setopt histignoredups
# don't allow accidental file over-writes
setopt noclobber
Pushd y popd también son bastante útiles.
# Always pushd when changing directory
setopt auto_pushd
# Have pushd with no arguments act like `pushd $HOME'.
setopt PUSHD_TO_HOME
Molesto, las teclas de inicio y finalización no funcionan de manera predeterminada en zsh como lo hacen en otros shells, pero puede solucionarlo.
# Make home and end keys work.
[[ -z "$terminfo[khome]" ]] || bindkey -M emacs "$terminfo[khome]" beginning-of-line
[[ -z "$terminfo[kend]" ]] || bindkey -M emacs "$terminfo[kend]" end-of-line