383 Inc /.zshrc

My first crack at zsh. Most useful on debian/ubuntu systems with aptitude. It also includes a fun little easter egg.
#########################################################################
#									#
#		383_Inc's zshrc for ubuntu v1.0				#
#	nullum magnum ingenium sine mixtura dementiae fuit		#
# 							--Seneca	#
#########################################################################

export TZ="America/New_York"
export PAGER='less'
export EDITOR='vim'

##############
#   Prompt   #
##############

export PS1='%n@%m:%~ %# '

autoload -U promptinit
promptinit

##############
#   Title    #
##############

export DEFAULT_TITLE='%n@%m: %~'

export TITLE=$DEFAULT_TITLE

case $TERM in (xterm*|rxvt|screen)
	precmd () { print -Pn "\e]0;$TITLE \a" }
	;;
esac

function title (){

if [ -z $1 ]; then
	export TITLE=$DEFAULT_TITLE
else
	export TITLE=$1
fi
}

##############
# Completion #
##############

autoload -Uz compinit
compinit

zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' max-errors 3 numeric
zstyle :compinstall filename '/home/chris/.zshrc'
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache

setopt	correct_all
setopt	auto_menu
setopt	complete_aliases 

#############
#  History  #
#############

export HISTFILE=~/.zsh_history
export HISTSIZE=1000
export SAVEHIST=$HISTSIZE

setopt	hist_ignore_dups
setopt	share_history

##############
#  Options   #
##############

setopt	autocd
setopt	glob
setopt	extendedglob
setopt	chase_links
setopt	auto_resume
setopt	hash_cmds
setopt	hash_dirs
setopt	hash_list_all

##############
#  Aliases   #
##############

# Apt #

alias	install='sudo aptitude install'
alias	reinstall='sudo aptitude reinstall'
alias	remove='uninst'
alias	uninstall='uninst'
alias	purge='uninst'
alias	update='sudo aptitude update'
alias	upgrade='sudo aptitude safe-upgrade'
alias	full-upgrade='sudo aptitude full-upgrade'
alias	reconfigure='sudo dpkg-reconfigure'
alias	search='aptitude search'

# File Management #

alias	mv='nocorrect mv -i'
alias	cp='nocorrect cp -i'
alias	mkdir='nocorrect mkdir'
alias	ls='ls --color=auto'
alias	l='ls -gh --color=auto'
alias	la='ls -a --color=auto'
alias	rm='rm -i'
alias	rf='rm -rf'
alias	mcd='nocorrect mkdir $1 && cd $1'

# Directories #

alias -g	...='../..'
alias -g	....='../../..'
alias -g	.....='../../../..'
alias -g	......='../../../../..'
alias -g	.......='../../../../../..'

# Miscellaneous #

alias	untar='extract'
alias	c=clear
alias	exit='clear && exit'
alias	download='wget'
alias	dnld='wget'
alias	figfonts='ls /usr/share/figlet/*.(flf|tlf)'

##############
#  Scripts   #
##############

#--------------------#
# Purge on Uninstall #
#--------------------#

uninst () {

echo "Remove Configuration Files y/n/q"
read var

if [ $var = "y" ]; then
	sudo aptitude purge ${1}
elif [ $var = "n" ]; then
	sudo aptitude remove ${1}
elif [ $var = "q" ]; then
	echo "Bye"
fi
}

#-------------------------#
# Move Files to the Trash #
#-------------------------#

trash() {

if [ -z $1 ]; then
	echo "Empty Trash? y/n"
	read var

	if [ $var = y ]; then
		sudo rm -rf $HOME/.local/share/Trash/files/*
	else
		echo "Bye"
	fi
elif [ -f $1 ]; then
	echo "Move to Trash or Delete t/d/?"
	read var

	if [ $var = t ]; then
		mv -v $1 $HOME/.local/share/Trash/files
	elif [ $var = d ]; then
		rm -ri $1
	elif [ $var = ? ]; then
		echo "t to Trash or d to Delete"
else
	echo 'The requested file/folder, $1, does not exist'
	fi
fi
}

#--------------------------#
# Extract Various Archives #
#--------------------------#

extract() {

if [ -f $1 ]; then 
	case $1 in
		(*.tar.gz)	tar -xvzf $1;;
		(*.tar.bz2)	tar -xvjf $1;;
		(*.tgz)		tar -xvzf $1;;
		(*.tbz2)	tar -xvjf $1;;
		(*.gz)		gunzip -v $1;;
		(*.bz2)		bunzip2 -v $1;;
		(*.zip)		unzip -v $1;;
		(*.rar)		unrar xv $1;;
		(*)		echo 'Can not handle file'
	esac
else
	echo 'File does not exist'
fi
}

##############
# EasterEggs #
##############

littlelamb() {

beep -f 10

if [ $? = 0 ]; then
	echo 'Marry Had A Little Lamb'
		beep -f 466.2 -l 250 -D 20 -n -f 415.3 -l 250 -D 20 -n -f 370.0 -l 250 -D 20 -n -f 415.3 -l 250 -D 20 -n -f 466.2 -l 250 -r 2 -d 0 -D 20 -n -f 466.2 -l 500 -n -f 10 -l 20
	echo 'Little Lamb, Little Lamb'
		beep -f 415.3 -l 250 -r 2 -d 0 -D 20 -n -f 415.3 -l 500 -D 20 -n -f 466.2 -l 250 -D 20 -n -f 568.8 -l 250 -D 20 -n -f 568.8 -l 500 -n -f 10 -l 20
	echo 'Marry Had A Little Lamb'
		beep -f 466.2 -l 250 -D 20 -n -f 415.3 -l 250 -D 20 -n -f 370.0 -l 250 -D 20 -n -f 415.3 -l 250 -D 20 -n -f 466.2 -l 250 -r 2 -d 0 -D 20 -n -f 466.2 -l 250 -n -f 10 -l 20
	echo 'Whose Fleece Was White As Snow'
		beep -f 415.3 -l 250 -r 3 -D 20 -n -f 466.2 -l 250 -D 20 -n -f 415.3 -l 250 -D 20 -n -f 370.0 -l 500
elif [ $? = '127' ]; then 
	echo 'Requires beep to be installed. Install now y/n?'
	read var

	if [ $var = 'y' ]; then
		sudo aptitude install beep
		littlelamb
	elif [ $var = 'n' ]; then
		echo 'Bye'
	fi
fi
}