A very simple .zshrc, the screen stuff is straight out of _why's .zshrc. It also has conditional package manager abstractions for aptitude, yum, and pacman.
# prompt
export PS1='%~ %# '
# history
HISTFILE=~/.histfile
HISTSIZE=500000
SAVEHIST=100000
setopt appendhistory autocd extendedglob
# autocomplete
autoload -U compinit
compinit
# export path
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
# prompt (if running screen, show window #)
if [ x$WINDOW != x ]; then
export PS1="$WINDOW:%~%# "
else
export PS1='%~ %# '
fi
# format titles for screen and rxvt
function title() {
# escape '%' chars in $1, make nonprintables visible
a=${(V)1//\%/\%\%}
# Truncate command, and join lines.
a=$(print -Pn "%40>...>$a" | tr -d "\n")
case $TERM in
screen)
print -Pn "\ek$a:$3\e\\" # screen title (in ^A")
;;
xterm*|rxvt)
print -Pn "\e]2;$2 | $a:$3\a" # plain xterm title
;;
esac
}
# package manager abstraction aliases
# pacman
if [ -f /usr/bin/pacman ]
then
alias update='install'
alias upgrade='sudo pacman -Syu'
alias install='sudo pacman -Sy'
alias uninstall='sudo pacman -Rs'
fi
# aptitude
if [ -f /usr/bin/aptitude ]
then
alias update="sudo aptitude update"
alias upgrade="sudo aptitude safe-upgrade"
alias install="sudo aptitude install"
alias uninstall="sudo aptitude remove"
fi
# yum
if [ -f /usr/bin/yum ]
then
alias update="sudo yum update"
alias upgrade="sudo yum safe-upgrade"
alias install="sudo yum install"
alias uninstall="sudo yum remove"
fi
# aliases
alias mv='nocorrect mv'
alias cp='nocorrect cp'
alias mkdir='nocorrect mkdir'
alias ll='ls -lh'
alias la='ls -la'