Как уже упоминалось, автозаполнение Zsh отлично.
Вы также можете настроить собственное автозаполнение для пользовательских команд без особых хлопот. Чтобы отобразить полные имена пользователей в качестве аргументов для finger:
# ~/.zshrc
function userlist {
reply=(`users | tr ' ' '\n' |sort -u `);}
compctl -K userlist finger
set COMPLETE_ALIASES
Другие параметры, которые я хотел бы установить:
# 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 и popd также очень удобны.
# Always pushd when changing directory
setopt auto_pushd
# Have pushd with no arguments act like `pushd $HOME'.
setopt PUSHD_TO_HOME
К сожалению, клавиши home и end по умолчанию не работают на zsh, как на других оболочках, но вы можете это исправить.
# 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