X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/bb1c74da5cc20f11415e1c9a7c0d227c0eb41c14..ee80e257d55c4c8a6acaee82bed84893cd098570:/.zsh/zshrc/30_aliases?ds=inline diff --git a/.zsh/zshrc/30_aliases b/.zsh/zshrc/30_aliases index 5b9c1b3..5e41f72 100644 --- a/.zsh/zshrc/30_aliases +++ b/.zsh/zshrc/30_aliases @@ -5,24 +5,245 @@ # 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 # -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 +function trace() { eval "set -x; $@" } -alias grep=egrep +alias mv='nocorrect mv' +alias cp='nocorrect cp' +alias ln='nocorrect ln' +alias mkdir='nocorrect mkdir' +alias rm='nocorrect rm' -alias ls='ls --color=auto' +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 l='ls --time-style=+%Y-%m-%d-%H:%M -gG' alias ll='ls -l' 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=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 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' + +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 && 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 +elif whence tailf >/dev/null; then + alias t=tailf +else + alias t='tail -f' +fi +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 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 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 d2o='baseconv 10 8' +alias h2b='baseconv 16 2' +alias b2h='baseconv 2 16' + +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[tn]=lat +for l0 in ${(k)_LANGUAGES}; do + for l1 in ${(k)_LANGUAGES}; do + 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 "function ${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; 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 + +pdfextract() { + local i=$1 + local o=$2 + shift 2 + pdftk "$i" cat "${@:-1-end}" output "${o%.pdf}.pdf" +} +compdef _files pdfextract + +gittestfile() { + local annex; annex=false + local file + + case "$1" in + (-a) annex=true;; + (*) + if [ -n "$file" ]; then + echo >&2 "E: filename already given" + return 1 + fi + file="$1";; + esac + + if [ -z "$file" ]; then + file=$(TMPDIR=${PWD} tempfile -ptest. -s.txt) + fi + + echo "Test file created $(date)" >| $file -alias -g ...=../.. -alias -g ....=../../.. + case "$annex" in + true) + git annex add $file + git commit -m"Add test file $file to annex" + ;; + false) + git add $file + git commit -m"Add test file $file" + ;; + esac +} # vim:ft=zsh