################################################################################
# Nowadays, grml's zsh setup lives in only *one* zshrc file.
# That is the global one: /etc/zsh/zshrc (from grml-etc-core).
-# It is best to leave this file untouched and do personal changes to
-# the setup via ${HOME}/.zshrc.local which is loaded at the end of the
-# global zshrc.
+# It is best to leave *this* file untouched and do personal changes to
+# your zsh setup via ${HOME}/.zshrc.local which is loaded at the end of
+# the global zshrc.
#
# That way, we enable people on other operating systems to use our
# setup, too, just by copying our global zshrc to their ${HOME}/.zshrc.
# Adjustments would still go to the .zshrc.local file.
################################################################################
+## Inform users about upgrade path for grml's old zshrc layout, assuming that:
+## /etc/skel/.zshrc was installed as ~/.zshrc,
+## /etc/zsh/zshrc was installed as ~/.zshrc.global and
+## ~/.zshrc.local does not exist yet.
+if [ -r ~/.zshrc -a -r ~/.zshrc.global -a ! -r ~/.zshrc.local ] ; then
+ printf '-!-\n'
+ printf '-!- Looks like you are using the old zshrc layout of grml.\n'
+ printf '-!- Please read the notes in the grml-zsh-refcard, being'
+ printf '-!- available at: http://grml.org/zsh/\n'
+ printf '-!-\n'
+ printf '-!- If you just want to get rid of this warning message execute:\n'
+ printf '-!- touch ~/.zshrc.local\n'
+ printf '-!-\n'
+fi
+
+## Settings for umask
+#if (( EUID == 0 )); then
+# umask 002
+#else
+# umask 022
+#fi
+
## Now, we'll give a few examples of what you might want to use in your
## .zshrc.local file (just copy'n'paste and uncomment it there):
#WORDCHARS='*?_[]~=&;!#$%^(){}'
#WORDCHARS='${WORDCHARS:s@/@}'
+# just type '...' to get '../..'
+#rationalise-dot() {
+#local MATCH
+#if [[ $LBUFFER =~ '(^|/| | |'$'\n''|\||;|&)\.\.$' ]]; then
+# LBUFFER+=/
+# zle self-insert
+# zle self-insert
+#else
+# zle self-insert
+#fi
+#}
+#zle -N rationalise-dot
+#bindkey . rationalise-dot
+## without this, typing a . aborts incremental history search
+#bindkey -M isearch . self-insert
+
+#bindkey '\eq' push-line-or-edit
## some popular options ##
## ignore ~/.ssh/known_hosts entries
#alias insecssh='ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null" -o "PreferredAuthentications=keyboard-interactive"'
-## a variation of our man2 alias
-#alias man2='MANPAGER="sed -e G |less" TERMINFO=~/.terminfo TERM=mostlike /usr/bin/man'
-
## global aliases (for those who like them) ##
## Set a search path for the cd builtin
#cdpath=(.. ~)
-## variations of our manzsh() function; pick you poison:
+## variation of our manzsh() function; pick you poison:
#manzsh() { /usr/bin/man zshall | most +/"$1" ; }
-#[[ -f ~/.terminfo/m/mostlike ]] && MYLESS='LESS=C TERMINFO=~/.terminfo TERM=mostlike less' || MYLESS='less'
-#manzsh() { man zshall | $MYLESS -p $1 ; }
## Switching shell safely and efficiently? http://www.zsh.org/mla/workers/2001/msg02410.html
#bash() {
# exec $SHELL $SHELL_ARGS "$@"
#}
+## get_ic() - queries imap servers for capabilities; real simple. no imaps
+#ic_get() {
+# emulate -L zsh
+# local port
+# if [[ ! -z $1 ]] ; then
+# port=${2:-143}
+# print "querying imap server on $1:${port}...\n";
+# print "a1 capability\na2 logout\n" | nc $1 ${port}
+# else
+# print "usage:\n $0 <imap-server> [port]"
+# fi
+#}
+
+## List all occurrences of programm in current PATH
+#plap() {
+# emulate -L zsh
+# if [[ $# = 0 ]] ; then
+# echo "Usage: $0 program"
+# echo "Example: $0 zsh"
+# echo "Lists all occurrences of program in the current PATH."
+# else
+# ls -l ${^path}/*$1*(*N)
+# fi
+#}
+
+## Find out which libs define a symbol
+#lcheck() {
+# if [[ -n "$1" ]] ; then
+# nm -go /usr/lib/lib*.a 2>/dev/null | grep ":[[:xdigit:]]\{8\} . .*$1"
+# else
+# echo "Usage: lcheck <function>" >&2
+# fi
+#}
+
+## Download a file and display it locally
+#uopen() {
+# emulate -L zsh
+# if ! [[ -n "$1" ]] ; then
+# print "Usage: uopen \$URL/\$file">&2
+# return 1
+# else
+# FILE=$1
+# MIME=$(curl --head $FILE | \
+# grep Content-Type | \
+# cut -d ' ' -f 2 | \
+# cut -d\; -f 1)
+# MIME=${MIME%$'\r'}
+# curl $FILE | see ${MIME}:-
+# fi
+#}
+
+## Memory overview
+#memusage() {
+# ps aux | awk '{if (NR > 1) print $5;
+# if (NR > 2) print "+"}
+# END { print "p" }' | dc
+#}
+
## log out? set timeout in seconds...
## ...and do not log out in some specific terminals:
#if [[ "${TERM}" == ([Exa]term*|rxvt|dtterm|screen*) ]] ; then
#showINC () { perl -e 'for (@INC) { printf "%d %s\n", $i++, $_ }' }
#vimpm () { vim `perldoc -l $1 | sed -e 's/pod$/pm/'` }
#vimhelp () { vim -c "help $1" -c on -c "au! VimEnter *" }
+
+## END OF FILE #################################################################