X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/0ac781d56a5e665fb41e7193ba66ee8a74959491..5d1762783236f0a06747432841910f0ccf7068a8:/.zsh/zshrc/30_aliases?ds=inline diff --git a/.zsh/zshrc/30_aliases b/.zsh/zshrc/30_aliases index 0797598..a4f8a50 100644 --- a/.zsh/zshrc/30_aliases +++ b/.zsh/zshrc/30_aliases @@ -5,9 +5,11 @@ # Copyright © 1994–2008 martin f. krafft # Released under the terms of the Artistic Licence 2.0 # -# Source repository: http://git.madduck.net/v/etc/zsh.git +# Source repository: git://git.madduck.net/etc/zsh.git # +function trace() { eval "set -x; $@" } + alias mv='nocorrect mv' alias cp='nocorrect cp' alias ln='nocorrect ln' @@ -32,8 +34,8 @@ command ls --group-directories-first >/dev/null 2>&1 \ # I prefer POSIX collation for ls alias ls="LC_COLLATE=POSIX ls $_ls_opts" +alias l='ls --time-style=+%Y%m%d.%H%M -gG' alias ll='ls -l' -alias l=ll alias la='ls -a' alias lla='ls -la' alias lt='ls -lt' @@ -43,10 +45,17 @@ alias lart='ls -lart' # List only directories and symbolic links that point to directories alias lsd='ll -d *(-/DN)' -cd () { builtin cd "$@" && lrt } +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' @@ -62,13 +71,26 @@ 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 +edalias() { + [[ -z "$1" ]] && { echo "Usage: edalias " ; return 1 } || vared aliases'[$1]' ; +} +compdef _aliases edalias + +edfunc() { + [[ -z "$1" ]] && { echo "Usage: edfunc " ; 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' +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 @@ -77,20 +99,38 @@ elif whence tailf >/dev/null; then 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' +compdef _files t + +function ltail() { t ~log/$1 } +compdef '_files -W ~log' ltail + +function lless() { sensible-pager ~log/$1 } +compdef '_files -W ~log' lless + +alias tsl='ltail syslog' +alias lsl='lless syslog' +alias tml='ltail mail.log' +alias lml='lless mail.log' +alias tal='ltail auth.log' +alias lal='lless auth.log' +alias tdl='ltail daemon.log' +alias ldl='lless daemon.log' +alias tkl='ltail kern.log' +alias lkl='lless kern.log' + +function lgrep() { + local pattern="$1"; shift + eval egrep "'$pattern'" "~log/${(j: ~log/:)@}" +} 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 bofh='fortune bofh-excuses' autoload -U baseconv @@ -99,7 +139,9 @@ 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 d2o='baseconv 10 8' +alias h2b='baseconv 16 2' +alias b2h='baseconv 2 16' alias sendmail=/usr/sbin/sendmail @@ -112,16 +154,16 @@ _LANGUAGES[de]=deu _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 @@ -129,6 +171,10 @@ 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; then + _devtodo_on_chpwd() { + local out; out="$(devtodo)" + [[ -n $out ]] && print "todo:\n$out" + } + [[ -z ${(M)chpwd_functions:#_devtodo_on_chpwd} ]] && chpwd_functions+=_devtodo_on_chpwd +fi + # vim:ft=zsh