zsh-setup: applied patch from Frank Terbeck for improved 0.1-32
authorMichael Prokop <mika@grml.org>
Wed, 15 Nov 2006 20:32:13 +0000 (21:32 +0100)
committerMichael Prokop <mika@grml.org>
Wed, 15 Nov 2006 20:32:13 +0000 (21:32 +0100)
grml-small support via /etc/skel/.zshrc.grmlsmall, thanks!

debian/changelog
etc/skel/.zshrc
etc/skel/.zshrc.grmlsmall [new file with mode: 0644]
etc/zsh/zshrc

index edab6bc..bb5a9bc 100644 (file)
@@ -1,3 +1,10 @@
+grml-etc-core (0.1-32) unstable; urgency=low
+
+  * zsh-setup: applied patch from Frank Terbeck for improved
+    grml-small support via /etc/skel/.zshrc.grmlsmall, thanks!
+
+ -- Michael Prokop <mika@grml.org>  Wed, 15 Nov 2006 21:28:44 +0100
+
 grml-etc-core (0.1-31) unstable; urgency=low
 
   * /etc/skel/.zshrc:
index f562ed2..3afa53b 100644 (file)
@@ -26,6 +26,9 @@
 
 ## variables {{{
 
+# do you want grmlsmall-specific adjustments?
+  GRMLSMALL_SPECIFIC=1
+
 # set terminal property (used e.g. by msgid-chooser)
   export COLORTERM="yes"
 
@@ -83,7 +86,7 @@
 #  alias -g SL='| sort | less'
 #  alias -g S='| sort'
 #  alias -g T='|tail'
-#  isgrmlsmall || alias -g V='| vim -'
+#  alias -g V='| vim -'
 
 # power completion, see http://zshwiki.org/home/examples/zleiab
 # less risky than the global aliases but powerful as well
    'SL' '| sort | less'
    'S' '| sort -u'
    'T' '|tail'
+   'V' '|& vim -'
    'hide' "echo -en '\033]50;nil2\007'"
    'tiny' 'echo -en "\033]50;-misc-fixed-medium-r-normal-*-*-80-*-*-c-*-iso8859-15\007"'
    'small' 'echo -en "\033]50;6x10\007"'
    'D' 'export DISPLAY=:0.0'
    'mp' 'mplayer -vo xv -fs -zoom'
   )
-  isgrmlsmall || abk+=( 'V' '|& vim -')
   globalias () {
         local MATCH
         matched_chars='[.-|_a-zA-Z0-9]#'
   sig()     { agrep -d '^-- $' "$*" ~/.Signature }
   swiki()   { ${=BROWSER} http://de.wikipedia.org/wiki/Spezial:Search/${(C)1} }
   udiff()   { diff -urd $* | egrep -v "^Only in |^Binary files " }
-  isgrmlsmall || viless()  { vim --cmd 'let no_plugin_maps = 1' -c "so \$VIMRUNTIME/macros/less.vim" "${@:--}" }
+  viless()  { vim --cmd 'let no_plugin_maps = 1' -c "so \$VIMRUNTIME/macros/less.vim" "${@:--}" }
   wikide () { ${=BROWSER} http://de.wikipedia.org/wiki/"${(C)*}" }
   wikien()  { ${=BROWSER} http://en.wikipedia.org/wiki/"$*" }
   wodeb ()  { ${=BROWSER} "http://packages.debian.org/cgi-bin/search_contents.pl?word=$1&version=${2:-unstable}" }
 #  getstrings () { perl -ne 'while ( m/"(.*?)"/gc ) { print $1, "\n"; }' $*}
 #  getanchors () { perl -ne 'while ( m/«([^«»\n]+)»/gc ) { print $1, "\n"; }' $* }
 #  showINC ()    { perl -e 'for (@INC) { printf "%d %s\n", $i++, $_ }' }
-#  isgrmlsmall || vimpm ()      { vim `perldoc -l $1 | sed -e 's/pod$/pm/'` }
-#  isgrmlsmall || vimhelp ()    { vim -c "help $1" -c on -c "au! VimEnter *" }
+#  vimpm ()      { vim `perldoc -l $1 | sed -e 's/pod$/pm/'` }
+#  vimhelp ()    { vim -c "help $1" -c on -c "au! VimEnter *" }
 
 # plap foo -- list all occurrences of program in the current PATH
   plap() {
   cl() { cd $1 && ls -a }
 
 # Use vim to convert plaintext to HTML
-  isgrmlsmall || 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 2> /dev/null }
 
 # Usage: simple-extract <file>
 # Description: extracts archived files (maybe)
 # Use 'view' to read manpages, if u want colors, regex - search, ...
 # like vi(m).
 # It's shameless stolen from <http://www.vim.org/tips/tip.php?tip_id=167>
-  isgrmlsmall || vman() { man $* | col -b | view -c 'set ft=man nomod nolist' - }
+  vman() { man $* | col -b | view -c 'set ft=man nomod nolist' - }
 
 # search for various types or README file in dir and display them in $PAGER
 # function readme() { $PAGER -- (#ia3)readme* }
 # print $'\e[?96;0;64c'
 # }}}
 
-# finally source a local zshrc {{{
+# finally source a local zshrc and grmlsmall-specific configuration {{{
+
+# The following file is used to remove zsh-config-items that do not work
+# in grml-small by default.
+# If you do not want these adjustments (for whatever reason),
+# there are three ways to accomplish that:
+#  a) at the beginning of this file (variables section), set
+#     $GRMLSMALL_SPECIFIC to 0 or comment out the variable definition.
+#  b) remove/rename .zshrc.grmlsmall
+#  c) comment out the following line
+  (( GRMLSMALL_SPECIFIC > 0 )) && isgrmlsmall && source ~/.zshrc.grmlsmall
+
 # this allows us to stay in sync with /etc/skel/.zshrc
 # through 'ln -s /etc/skel/.zshrc ~/.zshrc' and put own
 # modifications in ~/.zshrc.local
diff --git a/etc/skel/.zshrc.grmlsmall b/etc/skel/.zshrc.grmlsmall
new file mode 100644 (file)
index 0000000..25eca4c
--- /dev/null
@@ -0,0 +1,26 @@
+# Filename:      .zshrc.grmlsmall
+# Purpose:       remove items from grml's zsh configuration that
+#                depend on software that is not in grmlsmall.
+# Authors:       Frank Terbeck <ft@bewatermyfriend.de>
+# Bug-Reports:   see http://grml.org/bugs/
+# License:       This file is licensed under the GPL v2.
+# Latest change: Mit Nov 15 21:31:18 CET 2006 [ft]
+################################################################################
+
+# vim is not in grmlsmall
+  [[ $EDITOR == vim ]] && EDITOR='vi'
+  unset abk[V]
+  unalias    'V'      &> /dev/null
+  unfunction vman     &> /dev/null
+  unfunction vimpm    &> /dev/null
+  unfunction vimhelp  &> /dev/null
+  unfunction viless   &> /dev/null
+  unfunction 2html    &> /dev/null
+
+# manpages are not in grmlsmall
+  unfunction manzsh   &> /dev/null
+  unalias    man2     &> /dev/null
+  unalias    man      &> /dev/null
+  unfunction man2     &> /dev/null
+
+## END OF FILE #################################################################
index 0195279..131a19b 100644 (file)
@@ -44,7 +44,7 @@
     [[ ${${${(f)"$(</etc/grml_version)"}%% *}##*-} == 'small' ]] && return 0 ; return 1
   }
   else
-    isgrmlsmall() { return 1 }
+    isgrmlsmall() { return 1 }
   fi
 
 # check for user, if not running as root set $SUDO to sudo
@@ -62,7 +62,7 @@
 # }}}
 
 # {{{ set some variables
-  isgrmlsmall && export EDITOR=${EDITOR:-vi} || export EDITOR=${EDITOR:-vim}
+  export EDITOR=${EDITOR:-vim}
   export MAIL=${MAIL:-/var/mail/$USER}
   [[ -f ~/.terminfo/m/mostlike ]] && MYLESS='LESS=C TERMINFO=~/.terminfo TERM=mostlike less' || MYLESS='less'
   [[ -x /usr/bin/dircolors ]] && eval `dircolors -b`
@@ -700,8 +700,8 @@ If you want to use xinit anyway please call \"/usr/bin/xinit\"."
   setenv()  { typeset -x "${1}${1:+=}${(@)argv[2,$#]}" }  # csh compatibility
   freload() { while (( $# )); do; unfunction $1; autoload -U $1; shift; done }
   manzsh()  {  /usr/bin/man zshall |  vim -c "se ft=man| se hlsearch" +/"$1" - ; }
+#  manzsh()  { /usr/bin/man zshall |  most +/"$1" ; }
 #  manzsh()  { man zshall | $MYLESS -p $1 ; }
-#  manzsh() {  /usr/bin/man zshall |  most +/"$1" ; }
 
 # use "dchange <package-name>" to view Debian's changelog of the package:
   dchange() {