summaryrefslogtreecommitdiff
path: root/zshrc
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2006-04-29 14:42:20 +0000
committerweasel <weasel@bc3d92e2-beff-0310-a7cd-cc87d7ac0ede>2006-04-29 14:42:20 +0000
commit981fc13637ac75cb0fc9c8cc55305f23e04327be (patch)
tree50f7f9c5169cf881663c452f212770a0a0b26567 /zshrc
Add dotfiles
git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@71 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede
Diffstat (limited to 'zshrc')
-rw-r--r--zshrc365
1 files changed, 365 insertions, 0 deletions
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 <tab><tab> 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