setopt appendhistory nobeep nomatch zstyle :compinstall filename '/home/brad/.zshrc' # Use hard limits, except for a smaller stack and no core dumps unlimit limit stack 8192 limit core 0 limit -s umask 022 # Aliases # Misc alias mv='nocorrect mv' # no spelling correction on mv alias cp='nocorrect cp' # no spelling correction on cp alias mkdir='nocorrect mkdir' # no spelling correction on mkdir alias ls="ls -F --color=auto" # colours alias ll='ls -l' alias la='ls -a' alias lsa='ls -ld .*' alias grep="grep --colour" alias rh="rehash" alias indent='indent -bli0 -i4 -npcs -npsl -ut -ts4' # Administration alias s='sudo' alias tf='tail -f' alias stf='sudo tail -f' alias tn='tail -n' alias stn='sudo tail -n' alias sv='sudo vim' alias syslog='sudo tail -f /var/log/syslog' alias aperror='sudo tail -f /var/log/apache2/error.log' alias auth='sudo tail -n 500 /var/log/auth.log' alias authfail='sudo cat /var/log/auth.log | grep -i Failed' # SSH'ing alias pyrite='ssh brad@pyrite' alias bornite='ssh brad@bornite' alias codd='ssh brad@codd.uwcs.co.uk' alias backus='ssh brad@backus.uwcs.co.uk' alias jess='ssh brad@jess.uwcs.co.uk' alias som='ssh brad@insomnia.uwcs.co.uk' alias goggins='ssh brad@goggins.uwcs.co.uk' alias joshua='ssh maugci@joshua.dcs.warwick.ac.uk' alias primrose='ssh maugci@primrose.warwick.ac.uk' alias dijkstra='ssh brad@dijkstra.comspoc.lan' alias irc='ssh -t brad@codd.uwcs.co.uk screen -rD irc' # Package management alias sa='sudo apt-get' alias sai='sudo apt-get install' alias sau='sudo apt-get update' alias saug='sudo apt-get upgrade' alias sar='sudo apt-get remove' alias saar='sudo apt-get autoremove' alias sap='sudo apt-get --purge remove' alias acp='apt-cache policy' alias acs='apt-cache show' alias acd='apt-cache depends' alias acrd='apt-cache rdepends' # Package building alias dff='diff -Naur' alias buildkernel='make-kpkg --rootcmd fakeroot --initrd kernel_image' alias svn-b='svn-buildpackage -kC718D347 --svn-lintian --svn-ignore-new' alias svn-bf='svn-buildpackage --svn-lintian --svn-ignore-new --svn-builder="pdebuild --buildresult .. --buildsourceroot fakeroot --pbuilderroot sudo --auto-debsign --debbuildopts \"-i\.svn/ -I.svn $*\""' alias svn-bfm='svn-buildpackage --svn-lintian --svn-ignore-new --svn-builder="pdebuild --buildresult .. --buildsourceroot fakeroot --pbuilderroot sudo --auto-debsign --debbuildopts \"-i\.svn/ -I.svn $* -sa\""' alias git-b='git-buildpackage --git-builder="debuild -rfakeroot -i\.git/ -I.git $* -kC718D347"' alias git-bf='git-buildpackage --git-builder="pdebuild --buildresult .. --buildsourceroot fakeroot --pbuilderroot sudo --auto-debsign --debsign-k C718D347 --debbuildopts \"-i\.git/ -I.git $*\""' alias git-bfm='git-buildpackage --git-builder="pdebuild --buildresult .. --buildsourceroot fakeroot --pbuilderroot sudo --auto-debsign --debsign-k C718D347 --debbuildopts \"-i\.git/ -I.git $* -sa\""' alias git-bt='git-buildpackage --git-tag --git-builder="fakeroot debian/rules clean"' # Hosts to use for completion (see later zstyle) hosts=(`hostname` goggins.uwcs.co.uk backus.uwcs.co.uk codd.uwcs.co.uk jess.uwcs.co.uk insomnia.uwcs.co.uk primrose.warwick.ac.uk joshua.dcs.warwick.ac.uk mimosa.warwick.ac.uk chimera.csc.warwick.ac.uk goggins.uwcs.co.uk brad-smith.co.uk dijkstra.compsoc.lan) # Environment Variables export MAIL=/var/spool/mail/$USERNAME export LESS=-cex3M export GREP_COLOR='01;35' PATH=$HOME/bin:$PATH export PAGER='most' export EDITOR='vim' export VISUAL='vim' export EMAIL='Bradley Smith ' export DEBEMAIL='brad@brad-smith.co.uk' export KEYID="C718D347" export VERSION_CONTROL='numbered' export QUILT_PATCHES='debian/patches' MAILCHECK=300 HISTSIZE=10000 HISTFILE=~/.histfile SAVEHIST=10000 DIRSTACKSIZE=20 # Set/unset shell options setopt notify globdots correct pushdtohome autolist setopt correctall recexact longlistjobs hist_allow_clobber setopt autoresume histignoredups pushdsilent noclobber setopt autopushd pushdminus extendedglob rcquotes mailwarning unsetopt bgnice autoparamslash # Autoload zsh modules when they are referenced zmodload -a zsh/stat stat zmodload -a zsh/zpty zpty zmodload -a zsh/zprof zprof zmodload -ap zsh/mapfile mapfile autoload -U compinit compinit # Completion # Formatting #zstyle ':completion:*' verbose yes #zstyle ':completion:*:descriptions' format '%B%d%b' #zstyle ':completion:*:messages' format '%d' zstyle ':completion:*:warnings' format 'No matches for: %d' #zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b' #zstyle ':completion:*' group-name '' # Match Uppercase from Lowercase zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' # Host Completion zstyle '*' hosts $hosts # Add colors in completions zmodload -i zsh/complist eval $(dircolors) zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} autoload colors && colors # Prompt if [ -z $debian_chroot ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi if [ $UID -eq 0 ]; then PROMPT=${debian_chroot:+($debian_chroot) }$'%(1j.%{\e[01;31m%}[%j] .)%{\e[01;31m%}%n@%m%{\e[0m%}:%{\e[01;31m%}%2~%{\e[0m%}%B%(!.#.$)%b ' else PROMPT=${debian_chroot:+($debian_chroot) }$'%(1j.%{\e[01;33m%}[%j] .)%{\e[01;36m%}%n@%m%{\e[0m%}:%{\e[01;32m%}%2~%{\e[0m%}%B%(!.#.$)%b ' fi precmd() { load=$(cat /proc/loadavg | cut -d " " -f 1) RPROMPT="%{$reset_color$fg_bold[grey]%}($load) %{$reset_color$fg_bold[red]%}[%T]%{$reset_color%}" } # Key bindings autoload -U history-search-end zle -N history-beginning-search-backward-end history-search-end zle -N history-beginning-search-forward-end history-search-end bindkey '\e[A' history-beginning-search-backward-end bindkey '\e[B' history-beginning-search-forward-end bindkey '^[OH' beginning-of-line # HOME bindkey '^[OF' end-of-line # END bindkey '^[[3~' delete-char # DELETE bindkey '[2~' overwrite-mode # INSERT bindkey '^[[5~' history-beginning-search-backward-end # PAGE UP bindkey '^[[6~' history-beginning-search-forward-end # PAGE DOWN bindkey '^[[1~' beginning-of-line # HOME bindkey '^[[4~' end-of-line # END # Misc functions getdotfiles() { wget brad.uwcs.co.uk/files/dotfiles/zshrc.txt -O ~/.zshrc wget brad.uwcs.co.uk/files/dotfiles/screenrc.txt -O ~/.screenrc wget brad.uwcs.co.uk/files/dotfiles/vimrc.txt -O ~/.vimrc wget brad.uwcs.co.uk/files/dotfiles/toprc.txt -O ~/.toprc wget brad.uwcs.co.uk/files/dotfiles/muttrc.txt -O ~/.muttrc } temp() { TMP=`mktemp -d temp.XX` cd $TMP }