In development, still learning and migrating from Bash. The setup "wizard" is a nice touch.
#
# .zshrc
# Kevin Marsh <kevin@kevinmarsh.com> Last Updated 2/18/2008
#
# Variables
HISTFILE=~/.zsh_history
HISTSIZE=50000
SAVEHIST=10000
#
# Options
setopt appendhistory autocd extendedglob
unsetopt beep
setopt PRINT_EXIT_VALUE
setopt NUMERIC_GLOB_SORT
bindkey -v # vim-style keybindings
#
# Aliases
alias ll="ls -lhFG"
alias ls="ls -FG"
alias dir="ll"
alias gemlist='gem list | egrep -v "^( |$)"'
alias top='top -ocpu'
alias irb='irb --simple-prompt'
#
# Environment variables
#PS1="%{${bg[white]}${fg[red]}%}%(?..(%?%))%{${fg[yellow]}${bg[black]}%}%# "
export PROMPT='%B%n@%m:%c%b%# '
export RPS1=" <%T"
export PS2="%_> "
#
# Functions
mdc() { mkdir -p "$1" && cd "$1" }
pman() { man -t "${1}" | open -f -a /Applications/Preview.app/ }
sdate() { date +%Y%m%d }
# 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
}
# precmd is called just before the prompt is printed
function precmd() {
title "zsh" "$USER@%m" "%55<...<%~"
}
# preexec is called just before any command line is executed
function preexec() {
title "$1" "$USER@%m" "%35<...<%~"
}
# colorful listings
zmodload -i zsh/complist
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
# zmodload zsh/complist
autoload -Uz compinit
compinit