/etc/skel/.zshrc: added alias mq
[grml-etc-core.git] / etc / skel / .zshrc
index ef1eb8e..d772041 100644 (file)
@@ -3,7 +3,7 @@
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
-# Latest change: Don Nov 30 16:15:10 CET 2006 [mika]
+# Latest change: Fre Apr 13 18:00:42 CEST 2007 [mika]
 ################################################################################
 
 # source ~/.zshrc.global {{{
@@ -35,9 +35,9 @@
 # set default browser
   if [ -z "$BROWSER" ] ; then
      if [ -n "$DISPLAY" ] ; then
-        [ -x =firefox ] && export BROWSER=firefox
+        [ -x $(which firefox) ] && export BROWSER=firefox
      else
-        [ -x =w3m ] && export BROWSER=w3m
+        [ -x $(which w3m) ] && export BROWSER=w3m
      fi
   fi
   (( ${+PAGER} ))   || export PAGER="less"
   alias conkeror='firefox -chrome chrome://conkeror/content'
 
 # arch/tla stuff
-  if type -p tla >/dev/null 2>&1 ; then
+  if type -p tla &>/dev/null ; then
      alias tdi='tla what-changed --diffs | less'
      alias tbp='tla-buildpackage'
      alias tmi='tla archive-mirror'
 
 # check whether Debian's package management (dpkg) is running
   alias check_dpkg_running="$SUDO dpkg_running"
+
+# work around non utf8 capable software in utf environment
+  if [ -x /usr/bin/mrxvt ] ; then
+     isutfenv && [ -n "$LANG" ] && alias mrxvt="LANG=${LANG/(#b)(*)[.@]*/$match[1].iso885915} mrxvt"
+  fi
+
+  if [ -x /usr/bin/aterm ] ; then
+     isutfenv && [ -n "$LANG" ] && alias aterm="LANG=${LANG/(#b)(*)[.@]*/$match[1].iso885915} aterm"
+  fi
+
+  if [ -x /usr/bin/centericq ] ; then
+     isutfenv && [ -n "$LANG" ] && alias centericq="LANG=${LANG/(#b)(*)[.@]*/$match[1].iso885915} centericq"
+  fi
 # }}}
 
 ## useful functions {{{
   fir()     { firefox -a firefox -remote "openURL($1)" }
   ggogle()  { ${=BROWSER} "http://groups.google.com/groups?q=$*" }
   google()  { ${=BROWSER} "http://www.google.com/search?&num=100&q=$*" }
+  mcd()     { mkdir -p "$@"; cd "$@" } # mkdir && cd
   mdiff()   { diff -udrP "$1" "$2" > diff.`date "+%Y-%m-%d"`."$1" }
   memusage(){ ps aux | awk '{if (NR > 1) print $5; if (NR > 2) print "+"} END { print "p" }' | dc }
   mggogle() { ${=BROWSER} "http://groups.google.com/groups?selm=$*" }
   wikien()  { ${=BROWSER} http://en.wikipedia.org/wiki/"$*" }
   wodeb ()  { ${=BROWSER} "http://packages.debian.org/cgi-bin/search_contents.pl?word=$1&version=${2:-unstable}" }
 
-  which google >/dev/null 2>&1 && gex () { google "\"[ $1]\" $*" } # exact search at google
+  which google &>/dev/null && gex () { google "\"[ $1]\" $*" } # exact search at google
+
+  # download video from youtube
+  ytdl() {
+    if ! [ -n "$2" ] ; then
+       print "Usage: ydtl http://youtube.com/watch?v=.... outputfile.flv">&2
+       return 1
+    else
+       wget -O${2} "http://youtube.com/get_video?"${${${"$(wget -o/dev/null -O- "${1}" | grep -e watch_fullscreen)"}##*watch_fullscreen\?}%%\&fs=*}
+    fi
+  }
+
 
 # Function Usage: doc packagename
   doc() { cd /usr/share/doc/$1 && ls }
     cd ~$dir
   }
 
-# provide useful information on globbing
-  H-Glob() {
-  echo -e "
-      /      directories
-      .      plain files
-      @      symbolic links
-      =      sockets
-      p      named pipes (FIFOs)
-      *      executable plain files (0100)
-      %      device files (character or block special)
-      %b     block special files
-      %c     character special files
-      r      owner-readable files (0400)
-      w      owner-writable files (0200)
-      x      owner-executable files (0100)
-      A      group-readable files (0040)
-      I      group-writable files (0020)
-      E      group-executable files (0010)
-      R      world-readable files (0004)
-      W      world-writable files (0002)
-      X      world-executable files (0001)
-      s      setuid files (04000)
-      S      setgid files (02000)
-      t      files with the sticky bit (01000)
-   print *(m-1)          # Dateien, die vor bis zu einem Tag modifiziert wurden.
-   print *(a1)           # Dateien, auf die vor einem Tag zugegriffen wurde.
-   print *(@)            # Nur Links
-   print *(Lk+50)        # Dateien die ueber 50 Kilobytes grosz sind
-   print *(Lk-50)        # Dateien die kleiner als 50 Kilobytes sind
-   print **/*.c          # Alle *.c - Dateien unterhalb von \$PWD
-   print **/*.c~file.c   # Alle *.c - Dateien, aber nicht 'file.c'
-   print (foo|bar).*     # Alle Dateien mit 'foo' und / oder 'bar' am Anfang
-   print *~*.*           # Nur Dateien ohne '.' in Namen
-   chmod 644 *(.^x)      # make all non-executable files publically readable
-   print -l *(.c|.h)     # Nur Dateien mit dem Suffix '.c' und / oder '.h'
-   print **/*(g:users:)  # Alle Dateien/Verzeichnisse der Gruppe >users<
-   echo /proc/*/cwd(:h:t:s/self//) # Analog zu >ps ax | awk '{print $1}'<"
-  }
-
 # find out which libs define a symbol
 # usage example: 'lcheck strcpy'
   lcheck() {
         print -z "${cmd[$answer]#*$TAB}"
   }
 
-# mkdir && cd
-  mcd() { mkdir -p "$@"; cd "$@" }  # mkdir && cd
-
-# cd && ls
-  cl() { cd $1 && ls -a }
-
 # Use vim to convert plaintext to HTML
-  2html() { vim -u NONE -n -c ':syntax on' -c ':so $VIMRUNTIME/syntax/2html.vim' -c ':wqa' $1 > /dev/null 2> /dev/null }
+  2html() { vim -u NONE -n -c ':syntax on' -c ':so $VIMRUNTIME/syntax/2html.vim' -c ':wqa' $1 &>/dev/null }
 
 # Usage: simple-extract <file>
 # Description: extracts archived files (maybe)
   }
 
 # highlight important stuff in diff output, usage example: hg diff | hidiff
-  [ -x =histring ] && \
+  [ -x $(which histring) ] && \
   alias hidiff="histring -fE '^Comparing files .*|^diff .*' | histring -c yellow -fE '^\-.*' | histring -c green -fE '^\+.*'"
 
 # rename pictures based on information found in exif headers
 # }}}
 
 # mercurial related stuff {{{
-  if type -p hg >/dev/null 2>&1 ; then
+  if type -p hg &>/dev/null ; then
   # gnu like diff for mercurial
   # http://www.selenic.com/mercurial/wiki/index.cgi/TipsAndTricks
     hgdi() {
   # build debian package
     alias hbp='hg-buildpackage'
 
+  # execute commands on the versioned patch-queue from the current repos
+    alias mq='hg -R $(readlink -f $(hg root)/.hg/patches)'
+
   # diffstat for specific version of a mercurial repository
   #   hgstat      => display diffstat between last revision and tip
   #   hgstat 1234 => display diffstat between revision 1234 and tip
         # export PYTHONPATH=${HOME}/lib/python
       fi
     }
-  
+
   fi # end of check whether we have the 'hg'-executable
 
   # get current mercurial snapshot