/etc/zsh/zshrc: added aliases for better iso<->utf handling
[grml-etc-core.git] / etc / zsh / zshrc
index f45f936..4ef8f95 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: Sam Feb 24 17:32:43 CET 2007 [mika]
+# Latest change: Sam Mär 17 20:12:26 CET 2007 [mika]
 ################################################################################
 # This file is sourced only for interactive shells. It
 # should contain commands to set up aliases, functions,
@@ -139,6 +139,24 @@ fi
   bindkey '\e[8~' end-of-line             # end
 #fi
 
+# insert unicode character
+# usage example: 'ctrl-x i' 00A7 'ctrl-x i' will give you an §
+# See for example http://unicode.org/charts/ for unicode characters code
+  autoload insert-unicode-char
+  zle -N insert-unicode-char
+  bindkey '^Xi' insert-unicode-char
+
+# just type 'cd ...' to get 'cd ../..'
+#  rationalise-dot() {
+#  if [[ $LBUFFER = *.. ]]; then
+#    LBUFFER+=/..
+#  else
+#    LBUFFER+=.
+#  fi
+#  }
+#  zle -N rationalise-dot
+#  bindkey . rationalise-dot
+
 #  bindkey '\eq' push-line-or-edit
 # }}}
 
@@ -237,9 +255,7 @@ fi
   autoload history-search-end
 
   # we don't want to quote/espace URLs on our own...
-  # avoid 'url-quote-magic: function definition file not found' on some older boxes
-  if [ -f "/usr/share/zsh/$ZSH_VERSION/functions/Zle/url-quote-magic" ] && \
-     autoload -U url-quote-magic && zle -N self-insert url-quote-magic ; then
+  if autoload -U url-quote-magic ; then
      zle -N self-insert url-quote-magic
   else
      print 'Notice: no url-quote-magic available :('
@@ -324,8 +340,7 @@ fi
 # }}}
 
 # {{{ set some important options
-  # umask 022
-  umask 002
+  (( EUID != 0 )) && umask 002 || umask 022
 
 # history:
   setopt append_history       # append history list to the history file (important for multiple parallel zsh sessions!)
@@ -407,7 +422,7 @@ fi
 # }}}
 
 # {{{ set prompt
-  if [ -f "/usr/share/zsh/$ZSH_VERSION/functions/Prompts/promptinit" ] && autoload promptinit && promptinit 2>/dev/null ; then
+  if autoload promptinit && promptinit 2>/dev/null ; then
      promptinit # people should be able to use their favourite prompt
   else
      print 'Notice: no promptinit available :('
@@ -562,7 +577,35 @@ ${BLUE}%n${NO_COLOUR}@%m %40<...<%B%~%b%<< %# "
   alias rd='rmdir'
   alias md='mkdir'
 
-  alias swspeak="setopt singlelinezle ; unsetopt prompt_cr ; export PS1='%m%# ' ; speechd-up" # set up software synth.
+  # see http://www.cl.cam.ac.uk/~mgk25/unicode.html#term for details
+  alias term2iso="echo 'Setting terminal to iso mode' ; echo -e '\e%@'"
+  alias term2utf="echo 'Setting terminal to utf-8 mode'; echo -e '\e%G'"
+
+  alias utf2iso='if isutfenv ; then
+   for ENV in `env | grep UTF` ; do
+       eval export "$(echo $ENV | sed 's/UTF-8/iso885915/')"
+   done
+   fi'
+  alias iso2utf='if isutfenv ; then
+   for ENV in `env | grep '\.iso'` ; do
+       eval export "$(echo $ENV | sed 's/iso.*/UTF-8/')"
+   done
+   fi'
+
+# set up software synthesizer via speakup
+  alias swspeak='
+    aumix -w 90 -v 90 -p 90 -m 90
+    if ! [ -r /dev/softsynth ] ; then
+       flite -o play -t "Sorry, software synthesizer not available. Did you boot with swspeak bootoption?"
+       return 1
+    else
+       setopt singlelinezle
+       unsetopt prompt_cr
+       export PS1="%m%# "
+       nice -n -20 speechd-up
+       flite -o play -t "Finished setting up software synthesizer"
+    fi
+  '
 
   # I like clean prompt, so provide simple way to get that
   alias 0 &>/dev/null || functions 0 &>/dev/null || alias 0='return 0'