--- /dev/null
+#!/bin/zsh
+# Filename: qma
+# Purpose: "quick manual access"
+# 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 Dez 02 18:40:18 CET 2006 [mika]
+################################################################################
+
+# Idea for this script and basic functionally by Matthias Kopfermann <maddi@grml.org>.
+
+. /etc/grml/lsb-functions
+. /etc/grml/script-functions
+
+check4progs man lzop vim || exit 1
+
+MANDIR=${MANDIR:-$HOME/man}
+VERSION='0.1'
+
+if ! [ -d "$MANDIR" ] ; then
+ einfo "Creating $MANDIR."
+ mkdir $MANDIR ; eend $?
+fi
+
+usage() {
+ eerror "Usage: qma [section] manpage" ; eend 1
+ exit 1
+}
+
+case $1 in
+ -h*|--h*)
+ usage
+ ;;
+ -v*|--v*)
+ einfo "qma - version $VERSION" ; eend 0
+ exit 0
+ ;;
+ [0-9])
+ SECTION="${1}"
+ SECTIONFILE=".${1}"
+ MANPAGE="$2"
+ ;;
+ *)
+ SECTION=''
+ MANPAGE="$1"
+ ;;
+esac
+
+if [ -z "$MANPAGE" ] ; then
+ usage
+fi
+
+if ! [ -f "${MANDIR}/${MANPAGE}${SECTIONFILE}.txt.lzo" ] ; then
+ einfo "Writing manpage to ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt"
+ if man $SECTION $MANPAGE 1>/dev/null ; then
+ man $SECTION $MANPAGE > ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt ; eend $?
+ einfo "Compressing manpage with lzop"
+ lzop -U ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt.lzo ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt ; eend $?
+ else
+ exit 1
+ eend 1
+ fi
+fi
+
+if [ -n "$SEARCH" ] ; then
+ vim -c "set ft=man | set hlsearch | set ignorecase" +/"$SEARCH" =( lzop -cd $MANDIR/${MANPAGE}${SECTIONFILE}.txt.lzo)
+else
+ vim -c 'set ft=man' =( lzop -cd $MANDIR/${MANPAGE}${SECTIONFILE}.txt.lzo)
+fi
+
+einfo "Thanks for flying qma using vim and lzop." ; eend 0
+
+## END OF FILE #################################################################