[[ -z "$PS1" ]] && return ## See http://stuff.mit.edu/~jdong/misc/zshrc # next lets set some enviromental/shell pref stuff up # setopt NOHUP #setopt NOTIFY #setopt NO_FLOW_CONTROL setopt INC_APPEND_HISTORY SHARE_HISTORY setopt APPEND_HISTORY # setopt AUTO_LIST # these two should be turned off # setopt AUTO_REMOVE_SLASH # setopt AUTO_RESUME # tries to resume command of same name unsetopt BG_NICE # do NOT nice bg commands setopt CORRECT # command CORRECTION setopt EXTENDED_HISTORY # puts timestamps in the history # setopt HASH_CMDS # turns on hashing # setopt MENUCOMPLETE setopt ALL_EXPORT # Set/unset shell options setopt notify globdots correct pushdtohome cdablevars autolist setopt correctall autocd recexact longlistjobs setopt autoresume histignoredups pushdsilent 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 # The following lines were added by compinstall zstyle ':completion:*' completer _complete _ignored _approximate zstyle ':completion:*' verbose true zstyle :compinstall filename '/home/bottiger/.zshrc' autoload -Uz compinit compinit # End of lines added by compinstall # Lines configured by zsh-newuser-install HISTFILE=~/.histfile HISTSIZE=1000 SAVEHIST=1000 HOSTNAME="`hostname`" PAGER='less' EDITOR='vim' bindkey -e unsetopt ALL_EXPORT # End of lines configured by zsh-newuser-install precmd() { hash -r } alias ls="ls --color" alias ll="ls -l" alias l='ls -lFh' #size,show type,human readable alias la='ls -lAFh' #long list,show almost all,show type,human readable alias lr='ls -tRFh' #sorted by date,recursive,show type,human readable alias lt='ls -ltFh' #long list,sorted by date,show type,human readable alias 'grep=grep --colour' # SSH aliases alias fys="ssh -X arvid@fys.ku.dk" alias 17groups="ssh -X bottiger@17groups.com" alias psi="ssh -X bottiger@psi.nbi.dk" alias binf="ssh -X arbo@login.binf.ku.dk" alias u="sudo nice -n -10 aptitude -yr full-upgrade" alias p3="mplayer mms://wmscr1.dr.dk/e02ch03m" # For convenience alias 'mkdir=mkdir -p' alias 'dus=du -ms * | sort -n' ##cd, because typing the backslash is ALOT of work!! alias .='cd ../' alias ..='cd ../../' alias ...='cd ../../../' alias ....='cd ../../../../' # Typing errors... alias 'cd..=cd ..' alias laptop="disper -s" alias dual="disper -e -t left" i () { sudo aptitude -yr install "$*"; } s () { apt-cache search "$*"; } # Quick find f() { echo "find . -iname \"*$1*\"" find . -iname "*$1*" } # Very cool extract function unfoo () { if [ -f $1 ]; then case $1 in *.tar.bz2) tar -jxvf $1 ;; *.tar.gz) tar -zxvf $1 ;; *.bz2) bzip2 -d $1 ;; *.gz) gunzip -d $1 ;; *.tar) tar -xvf $1 ;; *.tgz) tar -zxvf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.rar) unrar x $1 ;; *) echo "'$1' Error. Please go away" ;; esac else echo "'$1' is not a valid file" fi } autoload colors; colors PROMPT="%n@%m:%~ %% " PROMPT="%F{cyan}%n%F{red}@%F{cyan}%M%{$reset_color%}:%F{cyan}%~%{$reset_color%}%# " ## Completions - also from: http://stuff.mit.edu/~jdong/misc/zshrc zstyle ':completion::complete:*' use-cache on zstyle ':completion::complete:*' cache-path ~/.zsh/cache/$HOST zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s' zstyle ':completion:*' menu select=1 _complete _ignored _approximate zstyle -e ':completion:*:approximate:*' max-errors \ 'reply=( $(( ($#PREFIX+$#SUFFIX)/2 )) numeric )' zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s' # Completion Styles # list of completers to use zstyle ':completion:*::::' completer _expand _complete _ignored _approximate # allow one error for every three characters typed in approximate completer zstyle -e ':completion:*:approximate:*' max-errors \ 'reply=( $(( ($#PREFIX+$#SUFFIX)/2 )) numeric )' # insert all expansions for expand completer zstyle ':completion:*:expand:*' tag-order all-expansions # formatting and messages 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}' # offer indexes before parameters in subscripts zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters # command for process lists, the local web server details and host completion # on processes completion complete all user processes # zstyle ':completion:*:processes' command 'ps -au$USER' ## add colors to processes for kill completion zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' #zstyle ':completion:*:processes' command 'ps ax -o pid,s,nice,stime,args | sed "/ps/d"' zstyle ':completion:*:*:kill:*:processes' command 'ps --forest -A -o pid,user,cmd' zstyle ':completion:*:processes-names' command 'ps axho command' #zstyle ':completion:*:urls' local 'www' '/var/www/htdocs' 'public_html' # #NEW completion: # 1. All /etc/hosts hostnames are in autocomplete # 2. If you have a comment in /etc/hosts like #%foobar.domain, # then foobar.domain will show up in autocomplete! zstyle ':completion:*' hosts $(awk '/^[^#]/ {print $2 $3" "$4" "$5}' /etc/hosts | grep -v ip6- && grep "^#%" /etc/hosts | awk -F% '{print $2}') # Filename suffixes to ignore during completion (except after rm command) zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' \ '*?.old' '*?.pro' # the same for old style completion #fignore=(.o .c~ .old .pro) # ignore completion functions (until the _ignored completer) zstyle ':completion:*:functions' ignored-patterns '_*' zstyle ':completion:*:*:*:users' ignored-patterns \ adm apache bin daemon games gdm halt ident junkbust lp mail mailnull \ named news nfsnobody nobody nscd ntp operator pcap postgres radvd \ rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs avahi-autoipd\ avahi backup messagebus beagleindex debian-tor dhcp dnsmasq fetchmail\ firebird gnats haldaemon hplip irc klog list man cupsys postfix\ proxy syslog www-data mldonkey sys snort # SSH Completion zstyle ':completion:*:scp:*' tag-order \ files users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *' zstyle ':completion:*:scp:*' group-order \ files all-files users hosts-domain hosts-host hosts-ipaddr zstyle ':completion:*:ssh:*' tag-order \ users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *' zstyle ':completion:*:ssh:*' group-order \ hosts-domain hosts-host users hosts-ipaddr zstyle '*' single-ignored show