diff options
-rw-r--r-- | bash_profile | 29 | ||||
-rw-r--r-- | bashrc | 115 | ||||
-rw-r--r-- | screenrc | 57 | ||||
-rw-r--r-- | vimrc | 11 | ||||
-rw-r--r-- | zshrc | 365 |
5 files changed, 577 insertions, 0 deletions
diff --git a/bash_profile b/bash_profile new file mode 100644 index 0000000..ef85b9f --- /dev/null +++ b/bash_profile @@ -0,0 +1,29 @@ +# ~/.bash_profile: executed by bash(1) for login shells. +# see /usr/share/doc/bash/examples/startup-files for examples + +if [ "`id -u`" != "0" ] ; then + umask 002 +else + umask 022 +fi + +# the rest of this file is commented out. + +# include .bashrc if it exists + +if [ -f ~/.bashrc ]; then + source ~/.bashrc +fi + +if [ -d ~/bin ] ; then + PATH="~/bin:${PATH}" +fi +if [ -d ~/local/bin ] ; then + PATH="~/local/bin:${PATH}" +fi +if [ -d /usr/lib/compilercache ] ; then + PATH="/usr/lib/compilercache:${PATH}" +fi + +export PATH +# vim:set ts=4: @@ -0,0 +1,115 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files for examples + +# If running interactively, then: +if [ "$PS1" ]; then + typeset HISTCONTROL=ignoreboth + typeset HISTSIZE=5000 + + CVS_RSH=ssh + RSYNC_RSH=ssh + + CVSROOT=weasel@cvs.noreply.org:/var/cvs/debian + CVSDEB_ROOTDIR=$HOME/projects/debian/Packages + DEBEMAIL="weasel@debian.org" + + export CVS_RSH CVSROOT CVSDEB_ROOTDIR DEBEMAIL RSYNC_RSH + + # malsync + PILOTRATE=115200 + alias malsync='malsync -p proxy -r 3128' + export PILOTRATE + + if [ `uname` = "Linux" ]; + then + export LS_OPTIONS='-F --color=auto' + which dircolors > /dev/null && eval `dircolors` + + alias grep='grep --color' + fi + + alias ls='ls $LS_OPTIONS' + alias ll='ls $LS_OPTIONS -l' + alias la='ls $LS_OPTIONS -la' + alias l='ls $LS_OPTIONS -l' + + alias cp='cp -i' + alias mv='mv -i' + + alias ..='cd ..' + + 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' + + if [ `hostname` = 'helium' ]; then + alias 'apt-get'='aptitude' + fi + + if [ -f ~/.ssh/config ] ; then + for i in `grep "^Host " ~/.ssh/config | awk ' !/\*/ {print $2}'`; do alias $i="ssh $i"; done + fi + + which ddate > /dev/null && ddate + echo + if [ -x /usr/games/fortune ]; then + FPATH="" + [ -d /usr/share/games/fortunes ] && FPATH="$FPATH /usr/share/games/fortunes" + [ -d /usr/share/games/fortunes/off ] && FPATH="$FPATH /usr/share/games/fortunes/off" + [ -d $HOME/.fortunes/ ] && FPATH="$FPATH $HOME/.fortunes/" + fortune $FPATH + echo + fi; + + if [ "`id -u`" = "0" ] ; then + PS1='\h:\w\$ ' + alias ro='mount -o remount,ro' + alias rw='mount -o remount,rw' + + PATH=/sbin:/usr/sbin:$PATH + export PATH + else + PS1='\u@\h:\w\$ ' + fi; + + ROLE=`id | sed -n 's/.* context=\([^ ]*\) .*/\1/p'` + if [ -n "$ROLE" ]; then + PS1="[$ROLE] \\h:\\w\\\$ " + fi + if [ -e /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) + PS1="[$debian_chroot] $PS1" + fi + + case $TERM in + xterm*) + if [ "`id -u`" != "0" ] ; then + PROMPT_COMMAND='PRINTPWD=`echo ${PWD} | sed "s,${HOME},~,"`; + echo -ne "\033]0;${USER}@${HOSTNAME}: ${PRINTPWD}\007";' + else + PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}# ${PWD}\007";' + fi + ;; + *) + ;; + esac + + if [ -d /usr/lib/ccache ] ; then + PATH="/usr/lib/ccache:${PATH}" + elif [ -d /usr/lib/compilercache ] ; then + PATH="/usr/lib/compilercache:${PATH}" + fi + + ## Export environment + if [ -x /usr/bin/lesspipe ] ; then + eval `lesspipe` + fi + +fi + +# vim:set ts=4: diff --git a/screenrc b/screenrc new file mode 100644 index 0000000..f406b80 --- /dev/null +++ b/screenrc @@ -0,0 +1,57 @@ +startup_message off +deflogin on +#vbell off +defscrollback 10000 + +# The vt100 description does not mention "dl". *sigh* +#termcapinfo vt100 dl=5\E[M + +## turn sending of screen messages to hardstatus off +#hardstatus on +# +## Set the hardstatus prop on gui terms to set the titlebar/icon title +#termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007 +## use this for the hard status string +#hardstatus string "%h%? users: %u%?" +#hardstatus alwayslastline "%{b w} %H %{=} | %{+bry}%D %d-%m-%y %c %{= d} | %w" +# +## set these terminals up to be 'optimal' instead of vt100 +#termcapinfo xterm*|linux*|rxvt*|Eterm* OP + + +#caption always "%{rw} * %H * | $LOGNAME | %{-}%-Lw%{rw}%50>%{rW}%n%f* %t %{-}%+Lw%<" +#caption always "%{rw} * %H * | $LOGNAME | %{bw}%c %D | %{-}%-Lw%{rw}%50>%{rW}%n%f* %t %{-}%+Lw%<" +#caption always "%{=b}%?%F%:%45=%n*%f %t%?%?%F%{r}%:%{s kk}%?%H%?%F%{-}%? %L=%-Lw%45L>%?%F%{g}%?%n*%f %t%?%F%{-}%?%+Lw%-17= %?%F%{y}%?%c %Y-%m-%d%?" + +caption always " %{r}%H%{d} | %{r}$LOGNAME%{d} | %{b}%-Lw%{b}%50>%{kw}%n%f* %t %{-}%+Lw%<" +#caption always " %{r}%H%{d} | %{r}$LOGNAME%{d} | %{b-}%-Lw%{b-}%50>%{bW}%n%f* %t %{-}%+Lw%<" +#caption always " %{=r-}%H%{=b-} | %{=}$LOGNAME%{=b-} | %{b-}%-Lw%{b-}%50>%{bW}%n%f* %t %{-}%+Lw%<" + +# To get screen to add lines to xterm's scrollback buffer, uncomment the +# following termcapinfo line which tells xterm to use the normal screen buffer +# (which has scrollback), not the alternate screen buffer. +# +termcapinfo xterm|xterms|xs|rxvt ti@:te@ + +bindkey ® next +bindkey ¬ prev +# home and end +#bindkey -k kh prev +#bindkey -k kH next + +bindkey î screen +# xterm: +bindkey "^[[1;5D" prev +bindkey "^[[1;5C" next +bindkey "^[[1;5A" focus up +bindkey "^[[1;5B" focus down + +# gnome terminal (in screen: +#bindkey "^[n" screen +bindkey "^[O5D" prev +bindkey "^[O5C" next +bindkey "^[O5A" focus up +bindkey "^[O5B" focus down + + +nonblock on @@ -0,0 +1,11 @@ +:syn on +:set title +:set pastetoggle=<F10> +:set listchars=tab:»,trail:· +:set list +:nmap <F11> :set invlist
+:imap <F11> :set invlist
+:set clipboard^=autoselectml guioptions+=A +let g:Imap_UsePlaceHolders = 0 +let g:Imap_FreezeImap = 1 +":set fileencodings=ucs-bom,utf-8,default,latin1 @@ -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 |