diff options
Diffstat (limited to 'zsh/.zshrc')
-rw-r--r-- | zsh/.zshrc | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/zsh/.zshrc b/zsh/.zshrc new file mode 100644 index 0000000..ad6a22c --- /dev/null +++ b/zsh/.zshrc @@ -0,0 +1,229 @@ +zstyle ':completion:*' completer _complete _ignored +zstyle :compinstall filename '~/.zshrc' +fpath=(~/.zsh/completions $fpath) +autoload -Uz compinit promptinit +compinit +promptinit +zstyle ':completion:*' menu select=2 +zstyle ':completion:*' completer _complete _ignored +HISTFILE=~/.zshistory +HISTSIZE=1000 +SAVEHIST=1000 +zstyle ':completion:*' menu select +setopt completealiases +compdef mosh=ssh +zstyle '*' hosts # do not use /etc/hosts +setopt no_multios + +ex () { + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar xvjf $1 && cd $(basename "$1" .tar.bz2) ;; + *.tar.gz) tar xvzf $1 && cd $(basename "$1" .tar.gz) ;; + *.tar.xz) tar Jxvf $1 && cd $(basename "$1" .tar.xz) ;; + *.bz2) bunzip2 $1 && cd $(basename "$1" .bz2) ;; + *.rar) unrar x $1 && cd $(basename "$1" .rar) ;; + *.gz) gunzip $1 && cd $(basename "$1" .gz) ;; + *.tar) tar xvf $1 && cd $(basename "$1" .tar) ;; + *.tbz2) tar xvjf $1 && cd $(basename "$1" .tbz2) ;; + *.tgz) tar xvzf $1 && cd $(basename "$1" .tgz) ;; + *.zip) unzip $1 && cd $(basename "$1" .zip) ;; + *.Z) uncompress $1 && cd $(basename "$1" .Z) ;; + *.7z) 7zr x $1 && cd $(basename "$1" .7z) ;; + *) echo "Don't know how to extract '$1'..." ;; + esac + else + echo "'$1' is not a file!" + fi +} + +umask 0077 +export PATH=~/bin:/home/pks/bin:~/scripts:~/lib/ruby/bin:~/lib/python/site-packages:/usr/sbin:/usr/local/bin:/usr/local/sbin:$PATH +export RUBYOPT=-Ku +export CCACHE_PATH=/usr/bin +export TEXMFHOME='~/.texmf' +export EDITOR='vim -p' +export LC_ALL=en_US.UTF-8 +export LANG=en_US.UTF-8 +export LANGUAGE=en_US.UTF-8 +export GEM_HOME=$HOME/lib/ruby/ +export GEM_PATH=$HOME/lib/ruby/:$GEM_PATH +export PYTHONPATH=$PYTHONPATH:~/lib/python/site-packages +export CFLAGS="-march=native -mtune=native" +export CXXFLAGS="$CFLAGS" + +case $TERM in + *256color*) + precmd () {print -Pn "\e]0;%n@%m%~\a"} + preexec () {print -Pn "\e]0;%n@%m%~ -- $1\a"} + ;; +esac + +case $TERM in + screen-256color) + ;; + *) + TERM=xterm-256color + ;; +esac + +autoload -U colors && colors +case `hostname` in + 2pac) + HOSTCOLOR=green + ;; + CLuster|node*|gpu*) + HOSTCOLOR=cyan + ;; + coltrane) + HOSTCOLOR=blue + ;; + donna) + HOSTCOLOR=red + ;; + vicious) + HOSTCOLOR=yellow + ;; + x|pi*|*.uberspace.de) + HOSTCOLOR=magenta + ;; + *) + HOSTCOLOR=white + ;; +esac + +case `hostname` in + 2pac|CLuster|node*|gpu*|coltrane|donna|vicious) + PROMPT="[%m:%~]%{$fg[$HOSTCOLOR]%}%B%%%b%{$reset_color%} " + export PATH=/home/mitarb/simianer/bin:/home/pks/bin:/opt/java/bin:/toolbox/ruby/bin:$PATH + export GEM_HOME=/toolbox/ruby/ + export PYTHONPATH=$PYTHONPATH:/toolbox/python/lib/python2.7/site-packages + export JAVA_HOME=/usr/lib/jvm/java-6-sun/ # debian systems w/ sun-java6 + umask u=rwx,g=rwx,o=rx + alias tmux="tmux -f ~/.tmux.`hostname`.conf" + ;; + x) + PROMPT="[%~]%{$fg[magenta]%}$B%%%b%{$reset_color%} " + PATH=/usr/lib/colorgcc/bin:~/src/scripts:~/lib/node/bin:$PATH + ;; + pi*|*.uberspace.de) + PROMPT="[%m:%~]%{$fg[magenta]%}$B%%%b%{$reset_color%} " + PATH=/usr/lib/colorgcc/bin:~/src/scripts:$PATH + ;; +esac + +case `hostname` in + 2pac|CLuster|node*|gpu*) + export GEM_HOME=$HOME/lib/ruby/ + export GEM_PATH=/toolbox/ruby/:$GEM_PATH + ;; + coltrane|donna|vicious) + export PATH=/toolbox/scripts:$PATH + ;; +esac + +case `hostname` in + CLuster|node*|gpu*) + alias tmux="tmux -f ~/.tmux.CLuster.conf" + ;; +esac + +function youtube() { mplayer -xy 0.5 $(youtube-dl -g "$@") ;} + +alias ls='ls -h --color=auto' +alias l='ls' +alias la='ls -lA' +alias ll='ls -l' +alias lla='ls -A' +alias lsc='ls -1 | wc -l' +alias less='less -R' +alias lh='ls --color=always -lasth | less' +alias vi=$EDITOR +alias pdf='mupdf' +alias py='bpython' +alias grep='grep --color=auto' +alias equery='sudo equery -N' +alias feh='feh -F' +alias gitweb='git instaweb --httpd webrick' +alias gitwebstop='git instaweb stop' +alias netcfg='sudo netcfg' +alias mergepdf='texexec --pdfarrange --noduplex --result merged.pdf ' +alias mergepdfgs=' gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=gsmerged.pdf -dBATCH' +alias pdfprevfile='pdftoppm -f 1 -l 1 -singlefile -jpeg' +alias thumb='convert -resize 200x200' +alias updatedb='sudo updatedb' +alias qmv='qmv -evim -fdo' +alias dusage='du -hs *' +alias df='df -h' +alias iwlist='sudo iwlist wlan0 scan' +alias fumount='fusermount -u' +alias more='less' +alias vpnc='sudo vpnc' +alias vgaoff='xrandr --output VGA1 --off' +alias vgaclone='xrandr --output VGA1 --mode 1024x768' +alias vgaext='xrandr --output VGA1 --mode 1024x768 --left-of LVDS1 --rotate right' +alias vgabig='xrandr --output VGA1 --mode 1680x1050 --rate 60 --rotate left' +alias suspend='sudo suspend' +alias hibernate='suspend' +alias reboot='sudo shutdown -r now' +alias halt='sudo shutdown -h now' +alias lock='slock' +alias demoterm="urxvt -fn 'xft:courier:pixelsize=16' -fg #000000 -bg #ffffff" +alias fwup='sudo ifconfig firewire0 192.168.166.100 up' +alias gunzip='pigz -d' +alias fastltx='pdflatex -interaction=batchmode --shell-escape -parse-first-line' +alias lp2p='/usr/bin/lp -o sides=two-sided-long-edge' +alias lp4p='/usr/bin/lp -o sides=two-sided-short-edge -o number-up=2' +alias lp8p='/usr/bin/lp -o sides=two-sided-short-edge -o number-up=4 -o landscape' +alias muxn='tmux new -s' +alias muxl='tmux list-sessions' +alias muxa='tmux attach -t' +alias biew='TERM=vt100 biew filename' +alias dmesg='dmesg -T' +alias always_on='xset dpms 0 0 0' +alias quotes='curl -s "http://download.finance.yahoo.com/d/quotes.csv?s=AAPL+AMD+GOOG&f=l1"' +alias irb='pry' +alias watch_d='while true; do clear; ps ax | grep -P "\sD\+?\s"; sleep 5; done' +alias easy_install_home='easy_install --install-dir=$HOME/lib/python/site-packages' +alias uberspace='mosh -p 60666 pks@alphard.uberspace.de' +alias my_ip='echo "$(curl 'https://api.ipify.org' 2>/dev/null)"' +alias t_timeline='while true; do clear; t timeline -n 13 -C icon; sleep 600; done' +alias cal='while true; do clear; echo; khal calendar; sleep 600; done' +alias gitc='git -c color.status=always' +alias npm_install='npm install -g --prefix ./lib/node' +alias ssh_legacy='ssh -oKexAlgorithms=+diffie-hellman-group1-sha1' +if [[ -f ~/.zshrcp ]]; then + source ~/.zshrcp +fi + +bindkey -v +bindkey '^R' history-incremental-search-backward +bindkey '^A' vi-beginning-of-line +bindkey '^E' vi-end-of-line + +tln() { + reply=( $(tmux list-sessions | cut -d: -f1) ) +} + +lsof_kill() { + lsof $1 | grep -v COMMAND | cut -d " " -f 2- | strips | cut -d " " -f 1 | xargs kill +} + +compctl -K tln muxa + +case `whoami` in + root) + PROMPT=$'\e[0;31m[%~]# \e[0m' + ;; +esac + +stty -ixon # enable mapping of C-s in vim.. + +ciff () { + if hash colordiff 2>/dev/null; then + colordiff "$@" + else + diff "$@" + fi +} + |