# List only directories and symbolic links that point to directories
alias lsd='ll -d *(-/DN)'
-alias lscontext=l
+alias lscontext=ls
cd () { __CHPWD_RUN_FIRST=lscontext && builtin cd "$@" && unset __CHPWD_RUN_FIRST }
#_cd_l() { ll }
#chpwd_functions+=_cd_l
# #183394
alias w='w|cat'
+alias -g ND='*(/om[1])' # newest directory
+alias -g NF='*(.om[1])' # newest file
+
alias egrep='egrep --color=auto -d skip'
alias fgrep='fgrep --color=auto -d skip'
alias grep='grep --color=auto -d skip'
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
+edalias() {
+ [[ -z "$1" ]] && { echo "Usage: edalias <alias_to_edit>" ; return 1 } || vared aliases'[$1]' ;
+}
+compdef _aliases edalias
+
+edfunc() {
+ [[ -z "$1" ]] && { echo "Usage: edfunc <function_to_edit>" ; return 1 } || zed -f "$1" ;
+}
+compdef _functions edfunc
+
doc() { cd /usr/share/doc/$1 }
compdef '_files -W /usr/share/doc -/' doc
alias giti='git init && git add . && git commit -minitial\ checkin && git tag orig'
+gbs() {
+ local branch; branch="$(git symbolic-ref -q HEAD)"; branch="${branch##*/}"
+ git config branch.${branch}.remote ${1:-origin}
+ git config branch.${branch}.merge refs/heads/${branch}
+ git config branch.${branch}.rebase true
+}
if whence mtail >/dev/null; then
alias t=mtail
compdef '_files -W ~log' lless
alias tsl='ltail syslog'
-alias lsl='lless ~log/syslog'
+alias lsl='lless syslog'
alias tml='ltail mail.log'
-alias lml='lless ~log/mail.log'
+alias lml='lless mail.log'
alias tal='ltail auth.log'
-alias lal='lless ~log/auth.log'
+alias lal='lless auth.log'
alias tdl='ltail daemon.log'
-alias ldl='lless ~log/daemon.log'
+alias ldl='lless daemon.log'
alias tkl='ltail kern.log'
-alias lkl='lless ~log/kern.log'
+alias lkl='lless kern.log'
function lgrep() {
local pattern="$1"; shift
alias px='ps afux'
alias mps='ps -ao user,pcpu,start,command'
+function of() { lsof -np "$1" }
+compdef _pids of
+
+function psgrep() { ps aux | grep "[${1[1]}]${1[2,-1]}" }
+
+alias rw-='chmod 600'
+alias rwx='chmod 700'
+alias r--='chmod 644'
+alias r-x='chmod 755'
+alias r-s='chmod 2755'
+alias rws='chmod 2775'
+
alias bofh='fortune bofh-excuses'
autoload -U baseconv
alias d2h='baseconv 10 16'
alias h2d='baseconv 16 10'
alias d2o='baseconv 10 8'
-alias o2d='baseconv 8 10'
+alias d2o='baseconv 10 8'
+alias h2b='baseconv 16 2'
+alias b2h='baseconv 2 16'
alias sendmail=/usr/sbin/sendmail
_LANGUAGES[es]=spa
_LANGUAGES[fr]=fra
_LANGUAGES[it]=ita
-_LANGUAGES[lt]=lat
+_LANGUAGES[tn]=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]} \$* }"
+ eval "function _${l0}-${l1}() { _d -d fd-${_LANGUAGES[$l0]}-${_LANGUAGES[$l1]} \$* }"
+ eval "function ${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 }"
+ eval "function ${l}() { (_${l}-en \$*; _en-${l} \$*) | more }"
done
unset _LANGUAGES
ptsunsub() { echo unsubscribe ${1:?E: no package name given.} | sendmail -f ${2:-$DEBEMAIL} pts@qa.debian.org }
qasub() { echo subscribe ${1:?E: no package name given.} ${2:-unspecifed} | sendmail -f $DEBEMAIL ddpo@qa.debian.org }
qaunsub() { echo unsubscribe ${1:?E: no package name given.} ${2:-unspecifed} | sendmail -f $DEBEMAIL ddpo@qa.debian.org }
+listsub() { echo Subject: subscribe | sendmail -f ${1%@*}=${1#*@}@mass.madduck.net ${1%@*}-request@${1#*@} }
+listunsub() { echo Subject: unsubscribe | sendmail -f ${1%@*}=${1#*@}@mass.madduck.net ${1%@*}-request@${1#*@} }
uc() { unicode --max=0 --colour=off "$@" | sensible-pager }
alias btd='btdownloadheadless'
+function asc () { autossh -t "$@" 'screen -qxp= || screen -qdRR' }
+compdef asc=ssh
+
alias mdtest='swaks -s localhost -t'
if whence devtodo >/dev/null; then