From 981fc13637ac75cb0fc9c8cc55305f23e04327be Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Sat, 29 Apr 2006 14:42:20 +0000 Subject: Add dotfiles git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@71 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede --- zshrc | 365 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 365 insertions(+) create mode 100644 zshrc (limited to 'zshrc') diff --git a/zshrc b/zshrc new file mode 100644 index 0000000..72eda22 --- /dev/null +++ b/zshrc @@ -0,0 +1,365 @@ +#! /bin/false + +if [ -e /etc/zsh/zshenv ]; then + . /etc/zsh/zshenv +fi +# fink on OS X +if [ -e /sw/bin/init.sh ]; then + . /sw/bin/init.sh +fi + +HOSTNAME="`hostname`" +SYSTEM="`uname -s`" +ARCH="`uname -m`" + +case "$TERM" in + linux) # Linux console + bindkey '\e[1~' beginning-of-line # Home + bindkey '\e[4~' end-of-line # End + bindkey '\e[3~' delete-char # Del + bindkey '\e[2~' overwrite-mode # Insert + ;; + screen) # The textmode window manager + # In Linux console + bindkey '\e[1~' beginning-of-line # Home + bindkey '\e[4~' end-of-line # End + bindkey '\e[3~' delete-char # Del + bindkey '\e[2~' overwrite-mode # Insert + bindkey '\e[7~' beginning-of-line # home + bindkey '\e[8~' end-of-line # end + # In rxvt + bindkey '\eOc' forward-word # ctrl cursor right + bindkey '\eOd' backward-word # ctrl cursor left + bindkey '\e[3~' backward-delete-char # This should not be necessary! + ;; + rxvt) + bindkey '\e[7~' beginning-of-line # home + bindkey '\e[8~' end-of-line # end + bindkey '\eOc' forward-word # ctrl cursor right + bindkey '\eOd' backward-word # ctrl cursor left + bindkey '\e[3~' backward-delete-char # This should not be necessary! + bindkey '\e[2~' overwrite-mode # Insert + ;; + xterm*) + bindkey '\e[H' beginning-of-line # Home + bindkey '\e[F' end-of-line # End + bindkey '\e[3~' delete-char # Del + bindkey '\e[2~' overwrite-mode # Insert + bindkey "^[[5C" forward-word # ctrl cursor right + bindkey "^[[5D" backward-word # ctrl cursor left + + ;; + sun) + bindkey '\e[214z' beginning-of-line # Home + bindkey '\e[220z' end-of-line # End + bindkey '^J' delete-char # Del + bindkey '^H' backward-delete-char # Backspace + bindkey '\e[247z' overwrite-mode # Insert + ;; +esac + + + + +## Set options +setopt extendedglob # required for some of our completion magic +setopt list_types # Put a file type indicator after file names when + # completing. +#setopt correct # Attempt spelling correction on command names only. +setopt nocorrect +#setopt print_exit_value +setopt list_ambiguous +setopt bash_auto_list # Make do the right thing. +setopt list_packed # Compacter display of completion list. +setopt interactive_comments +setopt nohup # So backgrounded jobs don't get terminated when + # the shell is. +#unsetopt CHECK_JOBS +setopt CHECK_JOBS +unsetopt BG_NICE + +export HISTFILE=~/.zsh_history +export HISTSIZE=10000 +export SAVEHIST=10000 +setopt APPEND_HISTORY +setopt INC_APPEND_HISTORY +#setopt SHARE_HISTORY +setopt HIST_IGNORE_DUPS +setopt EXTENDED_GLOB +setopt HIST_FIND_NO_DUPS +setopt HIST_IGNORE_SPACE + + +case $TERM in + xterm*) + precmd() { + title=$TITLE + print -Pn "\e]2;$title\a\e]1;\a" + }; + preexec() { + title="$1 [$TITLE]" + title=`echo $title | tr '\n' ' '` + print -Pn "\e]2;$title\a\e]1;\a" + }; + ;; + screen*) + if grep -i -q screen <<< $TERMCAP ; then + precmd () {p=`print -Pn "%~"`; screen -X title "<$p>";} + preexec () {p=`print -Pn "%~:$1"`; screen -X title "<$p>";} + fi + ;; +esac + + +## Export environment +if [ -x /usr/bin/lesspipe ] ; then + eval `lesspipe` +fi + +export CVS_RSH=ssh +export RSYNC_RSH=ssh +export CVSROOT=weasel@cvs.noreply.org:/var/cvs/weasel/debian +export CVSDEB_ROOTDIR=$HOME/projects/debian/Packages +export DEBEMAIL="weasel@debian.org" + + +# in 'foo bar | baz' make a second ^W not eat 'bar |', but only '|' +# this has the disadvantage that in 'bar|baz' it eats all of it. +typeset WORDCHARS='|'$WORDCHARS + +# malsync +export PILOTRATE=115200 +alias malsync='malsync -p proxy -r 3128' + +alias spider='/usr/lib/python2.1/site-packages/PyPlucker/Spider.py -f WeaselsPalmHome' + +if [ "$SYSTEM" = "Linux" ] ; then + eval `dircolors` + LS_COLORS="$LS_COLORS""*.divx=01;35:" + + alias ls='ls --color=auto -F' + alias grep='grep --color' +fi +alias ll='ls -l' +alias la='ls -la' +alias l='ls -l' + +alias cp='cp -i' +alias mv='mv -i' + +alias ..='cd ..' + +alias mmv='noglob mmv' + +alias zinterdiff='interdiff -z' +alias tgrep='grep --binary-file=without-match' + +alias slrn='slrn --inews' + +alias defaultfixed='echo -n -e "\033]50;fixed\007"' +alias default='echo -n -e "\033]50;-misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-15\007"' +alias hide='echo -n -e "\033]50;nil2\007"' +alias tiny='echo -n -e "\033]50;-misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-15\007"' +alias small='echo -n -e "\033]50;-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-15\007"' +alias medium='echo -n -e "\033]50;-misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-15\007"' +alias large='echo -n -e "\033]50;-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-15\007"' +alias huge='echo -n -e "\033]50;-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15\007"' + +[[ -x /usr/sbin/traceroute ]] && alias traceroute=/usr/sbin/traceroute +[[ -x /sbin/ifconfig ]] && alias ifconfig=/sbin/ifconfig +[[ -x /sbin/route ]] && alias route=/sbin/route + + +if [ -x /usr/bin/recode ]; then + alias unix2dos='recode lat1..ibmpc' + alias dos2unix='recode ibmpc..lat1' +fi + +alias 221='pstops "2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)"' +alias rot13='tr a-zA-Z n-za-mN-ZA-M' +alias xlock='ssh-add -D && xlock -mode blank' +alias 64216="base64-decode | perl -e 'undef \$/; \$a=<>; print unpack(\"H\*\", \$a),\"\n\";'" + +alias vnc='xtightvncviewer -encodings "tight copyrect" -compresslevel 9 -quality 4' +alias rdesktop-w='rdesktop -x l -g 1280x1024 -a 16 172.22.118.112' + + + +if [ -f ~/.ssh/alias ] ; then + . ~/.ssh/alias +else + if [ -f ~/.ssh/config ] ; then + for i in `grep "^Host " ~/.ssh/config | awk ' !/\*/ {print $2}'`; do alias $i="ssh $i"; done + fi +fi + +if [ "$HOSTNAME" = 'danube' ]; then + alias cfs-attach='cattach -t 20 $HOME/.cfs weasel' + alias send-mail='sudo -u uucp /usr/sbin/uucico -r1 -x3 -f -snautilus.3node.com' +fi +if [ "$HOSTNAME" = 'danubeX.local.' ]; then + alias vi='vim' +fi +if [ "$HOSTNAME" = 'opium' ] || [ "$HOSTNAME" = 'asteria' ]; then + alias ldapvi='ldapvi -h ldap-server -D cn=weasel,ou=admins,ou=staff,o=hosting.noreply.org -w `grep bindpw $HOME/.noreply.ldap | cut -d" " -f 2`' +fi +if [ "$HOSTNAME" = 'thetis' ] ; then + alias ldapvi='ldapvi -h localhost -D cn=admin,o=ab.office.dibral.at -w `grep bindpw $HOME/.noreply.ldap | cut -d" " -f 2`' +fi +if [ "$HOSTNAME" = 'asteria' ] && [ -x /usr/bin/sudo ] ; then + ( + sudo cat /home/oftc/hybrid/etc/ircd.conf | $HOME/bin/list-servers + echo "neutron 86.59.21.34" + echo "plasma 2001:968:1::6666" + echo "venus6 2001:780:0:1c:42:42:42:42" + echo "testlink16 2001:618:400:a635::3:750" + ) | while read name ip; do + alias -g $name-ip="$ip" + alias -g ip-$name="$ip" + alias $name-irssi="irssi --home=$HOME/.irssi-$name --connect=$ip --nick=weasel-$name" + alias irssi-$name="irssi --home=$HOME/.irssi-$name --connect=$ip --nick=weasel-$name" + done +fi + + + + +if [ -e /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +if [ "`id -u`" = "0" -o ! -x /usr/bin/id ] ; then + export PROMPT="${debian_chroot:+[$debian_chroot] }%n@%m:%~# " + export TITLE="%n@%m: %~" +else + export PROMPT="${debian_chroot:+[$debian_chroot] }%n@%m:%~$ " + export TITLE="%n@%m: %~" +fi + + + +PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:$PATH" +if [ -d /sw/bin ] ; then + PATH="/sw/bin:${PATH}" +fi +if [ -d $HOME/bin ] ; then + PATH="${HOME}/bin:${PATH}" +fi +if [ -d $HOME/local/bin ] ; then + PATH="${HOME}/local/bin:${PATH}" +fi +if [ -d $HOME/local/amd64/bin ] && [ "$ARCH" = "x86_64" ] ; then + PATH="${HOME}/local/amd64/bin:${PATH}" +fi +if [ -d $HOME/local/i386/bin ] && [ "$ARCH" = "i386" ] ; then + PATH="${HOME}/local/i386/bin:${PATH}" +fi +if [ -d /usr/lib/ccache ] ; then + PATH="/usr/lib/ccache:${PATH}" +elif [ -d /usr/lib/compilercache ] ; then + PATH="/usr/lib/compilercache:${PATH}" +fi +if [ "`id -u`" = "0" ] || ! [ -x /usr/bin/id ] ; then + PATH="/usr/local/sbin:/usr/sbin:/sbin:${PATH}" +fi +typeset -U PATH + +MANPATH="/usr/share/man:/usr/local/share/man:/usr/local/man:$MANPATH" +if [ -d $HOME/local/share/man ] ; then + MANPATH="${HOME}/local/share/man:${MANPATH}" +fi + +if [ `uname -s` = "Darwin" ] ; then + if [ "$TERM" = "xterm" ]; then + export TERM="xterm-color" + fi +fi + +# we want colorful listings +zmodload -i zsh/complist +zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} +hosts="" +if [ -e $HOME/.ssh/known_hosts ]; then + hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[0-9]*}%%\ *}%%,*}) + zstyle ':completion:*:hosts' hosts $hosts +fi + +autoload -U compinit +compinit + +########## +cols() { + COLS_awkvar="" + COLS_firstarg=1 + + [ "$#" -eq 0 ] && { printf "cols: No parameters supplied.\n" >&2; return 1; } + + for COLS_arg in "$@"; do + if [ "$COLS_firstarg" -eq 1 ]; then + COLS_awkvar="print \$$COLS_arg" + COLS_firstarg=0 + else + COLS_awkvar="$(printf '%s "\t" $%s' "$COLS_awkvar" "$COLS_arg")" + fi + done + + awk "{ $COLS_awkvar }" +} + +########## +md() { + DIR="$1" + mkdir "$1" && cd "$1" +} + +######### +sd() { + fp=$( wget -q -O - http://tor.noreply.org:80/tor/status/authority | \ + awk '$1 == "r" && $2 == "'$1'" {printf "%s===", $3}' | \ + base64-decode | \ + perl -e 'undef $/; $a=<>; print unpack("H*", $a),"\n";' ) + echo wget -q -O - http://tor.noreply.org:80/tor/server/fp/$fp +} + + + +if [ -x /usr/bin/ddate ] ; then + /usr/bin/ddate + echo +fi + +if [ -x /usr/games/fortune ]; then + FORTUNE_PATH="" + [ -d /usr/share/games/fortunes ] && FORTUNE_PATH="$FORTUNE_PATH /usr/share/games/fortunes" + [ -d /usr/share/games/fortunes/off ] && FORTUNE_PATH="$FORTUNE_PATH /usr/share/games/fortunes/off" + [ -d $HOME/.fortunes/ ] && FORTUNE_PATH="$FORTUNE_PATH $HOME/.fortunes/" + fortune `echo $FORTUNE_PATH` + echo +fi + + + +#watch=( $(<~/.friends) ) # watch for people in .friends file +watch=(notme) # watch for everybody but me +LOGCHECK=300 # check every 5 min for login/logout activity +WATCHFMT='%n %a %l from %m at %t.' + +[ -f COMMANDMENTS ] && cat COMMANDMENTS + +if [ "$SSH_AUTH_SOCK" != "" ] ; then + if ! [ -e "$HOME/.ssh-auth-sock" ] || [ "`readlink $HOME/.ssh-auth-sock`" != "$SSH_AUTH_SOCK" ]; then + echo "Setting ~/.ssh-auth-sock." + rm -f "$HOME/.ssh-auth-sock" + ln -s "$SSH_AUTH_SOCK" "$HOME/.ssh-auth-sock" + fi +fi + + +# Complete sshc as ssh +compdef _ssh sshc=ssh +compdef _ssh cssh=ssh + +#alias scp="scp -S $HOME/bin/ssh" + +[ -e $HOME/.zshrc-local ] && . $HOME/.zshrc-local +[ -e $HOME/.pal ] && [ -e /usr/bin/pal ] && pal -r 5-10 -- cgit v1.2.3