X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fskel%2F.zshrc;h=630272e486cd204eb4b3b74385c856be2169f4f9;hb=e2207cdcaa24da681907bc27f86aa56a296eb1bb;hp=d8fb9f7a7761dea4bf80b1b8d4ca1add0e67d46a;hpb=76611f20ca2f17284b3032637fcc01916c082668;p=grml-etc-core.git diff --git a/etc/skel/.zshrc b/etc/skel/.zshrc index d8fb9f7..630272e 100644 --- a/etc/skel/.zshrc +++ b/etc/skel/.zshrc @@ -3,7 +3,7 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Son Dez 09 22:58:07 CET 2007 [mika] +# Latest Change: Sat Jan 26 11:55:04 CET 2008 ################################################################################ # source ~/.zshrc.global {{{ @@ -24,6 +24,9 @@ if [[ -z "$ZSHRC_GLOBAL_HAS_BEEN_READ" ]] ; then print 'Warning: global zsh config has not been read.' >&2 print ' prepare for possible errors!' >&2 + print '' >&2 + print 'See our refcard for info on how to get the complete configuration:' >&2 + print ' ' >&2 fi # }}} @@ -35,6 +38,7 @@ fi # completion system {{{ # just make sure it is loaded in this file too +# TODO: is this *really* needed? compsys should be run in the global zshrc already. check_com compinit || { autoload -U compinit && compinit } # }}} @@ -595,6 +599,7 @@ show-archive() { *.tgz) tar -ztf $1 ;; *.zip) unzip -l $1 ;; *.bz2) bzless $1 ;; + *.deb) dpkg-deb --fsys-tarfile $1 | tar -tf - -- ;; *) echo "'$1' Error. Please go away" ;; esac else @@ -618,6 +623,22 @@ readme() { fi } +# function ansi-colors() +#f5# Display ANSI colors +ansi-colors() { + typeset esc="\033[" line1 line2 + echo " _ _ _40 _ _ _41_ _ _ _42 _ _ 43_ _ _ 44_ _ _45 _ _ _ 46_ _ _ 47_ _ _ 49_ _" + for fore in 30 31 32 33 34 35 36 37; do + line1="$fore " + line2=" " + for back in 40 41 42 43 44 45 46 47 49; do + line1="${line1}${esc}${back};${fore}m Normal ${esc}0m" + line2="${line2}${esc}${back};${fore};1m Bold ${esc}0m" + done + echo -e "$line1\n$line2" + done +} + # suidfind() { ls -latg $path | grep '^...s' } #f5# Find all files in \$PATH with setuid bit set suidfind() { ls -latg $path/*(sN) } @@ -873,17 +894,22 @@ git-get-commit() { } #f5# Get specific git diff -git-get-plaindiff() { +git-get-plaindiff () { if [[ -z $GITTREE ]] ; then - GITTREE='linux/kernel/git/torvalds/linux-2.6.git' + GITTREE='linux/kernel/git/torvalds/linux-2.6.git' fi - if ! [[ -z $1 ]] ; then - wget "http://kernel.org/git/?p=$GITTREE;a=commitdiff_plain;h=$1" -O $1.diff + if [[ -z $1 ]] ; then + echo 'Usage: git-get-plaindiff ' else - echo 'Usage: git-get-plaindiff ' + echo -n "Downloading $1.diff ... " + # avoid "generating ..." stuff from kernel.org server: + wget --quiet "http://kernel.org/git/?p=$GITTREE;a=commitdiff_plain;h=$1" -O /dev/null + wget --quiet "http://kernel.org/git/?p=$GITTREE;a=commitdiff_plain;h=$1" -O $1.diff \ + && echo done || echo failed fi } + # http://strcat.de/blog/index.php?/archives/335-Software-sauber-deinstallieren...html #f5# Log 'make install' output mmake() { @@ -1037,6 +1063,55 @@ zurl() { | sed 's/value=//;s/"//g' } +#f2# Find history events by search pattern and list them by date. +whatwhen() { +# {{{ + local usage help ident format_l format_s first_char remain first last + usage='USAGE: whatwhen [options] ' + help='Use' \`'whatwhen -h'\'' for further explanations.' + ident=${(l,${#${:-Usage: }},, ,)} + format_l="${ident}%s\t\t\t%s\n" + format_s="${format_l//(\\t)##/\\t}" + # Make the first char of the word to search for case + # insensitive; e.g. [aA] + first_char=[${(L)1[1]}${(U)1[1]}] + remain=${1[2,-1]} + # Default search range is `-100'. + first=${2:-\-100} + # Optional, just used for ` ' given. + last=$3 + case $1 in + ("") + printf '%s\n\n' 'ERROR: No search string specified. Aborting.' + printf '%s\n%s\n\n' ${usage} ${help} && return 1 + ;; + (-h) + printf '%s\n\n' ${usage} + print 'OPTIONS:' + printf $format_l '-h' 'show help text' + print '\f' + print 'SEARCH RANGE:' + printf $format_l "'0'" 'the whole history,' + printf $format_l '-' 'offset to the current history number; (default: -100)' + printf $format_s '<[-]first> []' 'just searching within a give range' + printf '\n%s\n' 'EXAMPLES:' + printf ${format_l/(\\t)/} 'whatwhen grml' '# Range is set to -100 by default.' + printf $format_l 'whatwhen zsh -250' + printf $format_l 'whatwhen foo 1 99' + ;; + (\?) + printf '%s\n%s\n\n' ${usage} ${help} && return 1 + ;; + (*) + # -l list results on stout rather than invoking $EDITOR. + # -i Print dates as in YYYY-MM-DD. + # -m Search for a - quoted - pattern within the history. + fc -li -m "*${first_char}${remain}*" $first $last + ;; + esac +# }}} +} + # change fluxbox keys from 'Alt-#' to 'Alt-F#' and vice versa fluxkey-change() { [[ -n "$FLUXKEYS" ]] || local FLUXKEYS="$HOME/.fluxbox/keys" @@ -1095,8 +1170,6 @@ weather() { return 1 fi } - - # }}} # mercurial related stuff {{{