X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/1c5183b398c7cd9b0456157f615553bb095385b4..c29907c704a76a798c42319102a7c7ddbfec07b5:/.zsh/zshrc/30_aliases?ds=inline diff --git a/.zsh/zshrc/30_aliases b/.zsh/zshrc/30_aliases index f206c8c..d806681 100644 --- a/.zsh/zshrc/30_aliases +++ b/.zsh/zshrc/30_aliases @@ -34,7 +34,7 @@ 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 l='ls --time-style=+%Y-%m-%d-%H:%M -gG' alias ll='ls -l' alias la='ls -a' alias lla='ls -la' @@ -45,7 +45,7 @@ alias lart='ls -lart' # 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 @@ -53,9 +53,12 @@ cd () { __CHPWD_RUN_FIRST=lscontext && builtin cd "$@" && unset __CHPWD_RUN_FIRS # #183394 alias w='w|cat' -alias egrep='egrep --color=auto -d skip' -alias fgrep='fgrep --color=auto -d skip' -alias grep='grep --color=auto -d skip' +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' @@ -68,12 +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 +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 @@ -114,6 +131,13 @@ 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 @@ -137,16 +161,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 @@ -158,6 +182,8 @@ ptssub() { echo subscribe ${1:?E: no package name given.} | sendmail -f ${2:-$DE 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 } @@ -167,6 +193,9 @@ alias ipl='ip l' 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 @@ -177,4 +206,53 @@ if whence devtodo >/dev/null; then [[ -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