# Source repository: http://git.madduck.net/v/etc/zsh.git
#
-alias mv='nocorrect mv' # no spelling correction on mv
-alias cp='nocorrect cp' # no spelling correction on cp
-alias mkdir='nocorrect mkdir' # no spelling correction on mkdir
-alias find='noglob find' # no globbing for find
+alias mv='nocorrect mv'
+alias cp='nocorrect cp'
+alias ln='nocorrect ln'
+alias mkdir='nocorrect mkdir'
+alias rm='nocorrect rm'
-alias grep=egrep
+alias find='noglob find'
+alias w3m='noglob w3m -no-mouse'
+alias links='noglob links'
+alias wb='noglob www-browser'
+alias wget='noglob wget'
+alias curl='noglob curl'
+alias apt-cache='noglob apt-cache'
+alias locate='noglob locate'
+
+local _USER_AGENT="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.14) Gecko/20080404 Iceweasel/2.0.0.14 (Debian-2.0.0.14-2)"
+alias swget="noglob wget --user-agent='$USER_AGENT'"
+
+typeset -a _ls_opts; _ls_opts=(-bC --color=auto)
+command ls --group-directories-first >/dev/null 2>&1 \
+ && _ls_opts+=--group-directories-first
+# I prefer POSIX collation for ls
+alias ls="LC_COLLATE=POSIX ls $_ls_opts"
-alias ls='ls --color=auto'
alias ll='ls -l'
+alias l=ll
alias la='ls -a'
alias lla='ls -la'
+alias lt='ls -lt'
+alias lrt='ls -lrt'
+alias lat='ls -lat'
+alias lart='ls -lart'
# List only directories and symbolic links that point to directories
-alias lsd='ls -ld *(-/DN)'
+alias lsd='ll -d *(-/DN)'
+
+alias lscontext=ll
+cd () { __CHPWD_RUN_FIRST=lscontext && builtin cd "$@" && unset __CHPWD_RUN_FIRST }
+#_cd_l() { ll }
+#chpwd_functions+=_cd_l
+
+alias egrep='egrep --color=auto -d skip'
+alias fgrep='fgrep --color=auto -d skip'
+alias grep='grep --color=auto -d skip'
+
+alias mmv='noglob zmv -W'
+alias zcp='zmv -C'
+alias zln='zmv -L'
+alias zgmv='zmv -p git-mv'
+
+alias cal='cal -3'
+alias ftp=lftp
+
+alias mbug='bts show --mbox'
+alias bug='BROWSER=www-browser bts show'
+
+# handy documentation lookup on Debian
+# from http://www.michael-prokop.at/computer/config/.zshrc
+doc() { cd /usr/share/doc/$1 && ls }
+_doc() { _files -W /usr/share/doc -/ }
+compdef _doc doc
+
+alias giti='git init && git add . && git commit -minitial\ checkin'
+
+if whence mtail >/dev/null; then
+ alias t=mtail
+elif whence tailf >/dev/null; then
+ alias t=tailf
+else
+ alias t='tail -f'
+fi
+alias tsl='t /var/log/syslog'
+alias lsl='sensible-pager /var/log/syslog'
+alias tml='t /var/log/mail.log'
+alias lml='sensible-pager /var/log/mail.log'
+alias tal='t /var/log/auth.log'
+alias lal='sensible-pager /var/log/auth.log'
+alias tdl='t /var/log/daemon.log'
+alias ldl='sensible-pager /var/log/daemon.log'
+alias tkl='t /var/log/kern.log'
+alias lkl='sensible-pager /var/log/kern.log'
+
+alias px='ps afux'
+alias mps='ps -ao user,pcpu,start,command'
+
+alias bofh='fortune bofh-excuses'
+
+autoload -U baseconv
+alias b2d='baseconv 2 10'
+alias d2b='baseconv 10 2'
+alias d2h='baseconv 10 16'
+alias h2d='baseconv 16 10'
+alias d2o='baseconv 10 8'
+alias o2d='baseconv 8 10'
+
+alias sendmail=/usr/sbin/sendmail
+
+_d() { dict $* }
+d() { _d $* | sensible-pager }
+the() { d -d moby-thesaurus $* }
+typeset -A _LANGUAGES
+_LANGUAGES[en]=eng
+_LANGUAGES[de]=deu
+_LANGUAGES[es]=spa
+_LANGUAGES[fr]=fra
+_LANGUAGES[it]=ita
+_LANGUAGES[lt]=lat
+for l0 in ${(k)_LANGUAGES}; do
+ for l1 in ${(k)_LANGUAGES}; do
+ eval "_${l0}-${l1}() { _d -d fd-${_LANGUAGES[$l0]}-${_LANGUAGES[$l1]} \$* }"
+ eval "${l0}-${l1}() { d -d fd-${_LANGUAGES[$l0]}-${_LANGUAGES[$l1]} \$* }"
+ done
+done
+unset '_LANGUAGES[en]'
+for l in ${(k)_LANGUAGES}; do
+ eval "${l}() { (_${l}-en \$*; _en-${l} \$*) | more }"
+done
+unset _LANGUAGES
+
+alias dpkg-buildpackage="dpkg-buildpackage -k$DEBKEYID -rfakeroot"
+
+bugsub() { echo X-debbugs-autosubscribe: madduck | sendmail -f $DEBEMAIL ${1:?No bug number}-subscribe@bugs.debian.org }
+bugunsub() { sendmail -f $DEBEMAIL ${1:?No bug number}-unsubscribe@bugs.debian.org </dev/null }
+
+uc() { unicode --max=0 --colour=off "$@" | sensible-pager }
+
+alias ipr='ip r'
+alias ipa='ip a'
+alias ipl='ip l'
+
+alias btd='btdownloadheadless'
+
+alias mdtest='swaks -s localhost -t'
+
+if whence devtodo >/dev/null; then
+ _devtodo_on_chpwd() {
+ local out; out="$(devtodo)"
+ [[ -n $out ]] && print "todo:\n$out"
+ }
+ chpwd_functions+=_devtodo_on_chpwd
+fi
# vim:ft=zsh