]> git.madduck.net Git - etc/zsh.git/blobdiff - .zsh/zshrc/30_aliases

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

update URL and copyright
[etc/zsh.git] / .zsh / zshrc / 30_aliases
index fd8dd2429cefc41d261fd055dfc8da16f0de7be7..9614b2555d8bc91a5e35db1778df40eec41e365d 100644 (file)
@@ -2,10 +2,10 @@
 #
 # Defines command shortcuts
 #
 #
 # Defines command shortcuts
 #
-# Copyright © 1994–2008 martin f. krafft <madduck@madduck.net>
+# Copyright © 1994–2017 martin f. krafft <madduck@madduck.net>
 # Released under the terms of the Artistic Licence 2.0
 #
 # Released under the terms of the Artistic Licence 2.0
 #
-# Source repository: git://git.madduck.net/etc/zsh.git
+# Source repository: http://git.madduck.net/v/etc/zsh.git
 #
 
 function trace() { eval "set -x; $@" }
 #
 
 function trace() { eval "set -x; $@" }
@@ -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"
 
 # 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'
 alias ll='ls -l'
 alias la='ls -a'
 alias lla='ls -la'
@@ -53,9 +53,12 @@ cd () { __CHPWD_RUN_FIRST=lscontext && builtin cd "$@" && unset __CHPWD_RUN_FIRS
 # #183394
 alias w='w|cat'
 
 # #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'
 
 alias mmv='noglob zmv -W'
 alias zcp='zmv -C'
@@ -68,8 +71,16 @@ alias ftp=lftp
 alias mbug='bts show --mbox'
 alias bug='BROWSER=www-browser bts show'
 
 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
 
 doc() { cd /usr/share/doc/$1 }
 compdef '_files -W /usr/share/doc -/' doc
 
@@ -120,6 +131,13 @@ compdef _pids of
 
 function psgrep() { ps aux | grep "[${1[1]}]${1[2,-1]}" }
 
 
 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 bofh='fortune bofh-excuses'
 
 autoload -U baseconv
@@ -164,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 }
 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 }
 
 
 uc() { unicode --max=0 --colour=off "$@" | sensible-pager }
 
@@ -173,6 +193,9 @@ alias ipl='ip l'
 
 alias btd='btdownloadheadless'
 
 
 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
 alias mdtest='swaks -s localhost -t'
 
 if whence devtodo >/dev/null; then
@@ -183,4 +206,53 @@ if whence devtodo >/dev/null; then
   [[ -z ${(M)chpwd_functions:#_devtodo_on_chpwd} ]] && chpwd_functions+=_devtodo_on_chpwd
 fi
 
   [[ -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
 # vim:ft=zsh