# zshrc/30_aliases # # Defines command shortcuts # # Copyright © 1994–2017 martin f. krafft # Released under the terms of the Artistic Licence 2.0 # # Source repository: http://git.madduck.net/v/etc/zsh.git # function trace() { eval "set -x; $@" } alias mv='nocorrect mv' alias cp='nocorrect cp' alias ln='nocorrect ln' alias mkdir='nocorrect mkdir' alias rm='nocorrect rm' 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='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 -D skip' alias fgrep='fgrep --color=auto -d skip -D skip' alias grep='grep --color=auto -d skip -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" if [ -n "$1" ]; then local tmpfile tmpfile=$(tempfile -p pdftk -s .pdf) cleanup() { rm -f $tmpfile; trap - EXIT; } trap cleanup EXIT pdftk "$i" cat "1-end~${(j:~:)@}" output $tmpfile mv $tmpfile "$i" cleanup fi } 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 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