X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fskel%2F.zshrc;h=df9f4d9f32c58ffbc1f5d3bba59747c0f930f113;hb=c1d89209822ed136e486b6c3c253f247e4d65ab2;hp=22869f7cf9a980e8690564a118d31be295a433a3;hpb=f3ba81acd221a5f865236f5e70706d7d599a7a51;p=grml-etc-core.git diff --git a/etc/skel/.zshrc b/etc/skel/.zshrc index 22869f7..df9f4d9 100644 --- a/etc/skel/.zshrc +++ b/etc/skel/.zshrc @@ -1,21 +1,45 @@ -## skel/.zshrc on grml systems -# -# Nowadays, grml's zsh setup lives in only in *one* zshrc file. +# Filename: /etc/skel/.zshrc +# Purpose: config file for zsh (z shell) +# Authors: (c) grml-team (grml.org) +# Bug-Reports: see http://grml.org/bugs/ +# License: This file is licensed under the GPL v2 or any later version. +################################################################################ +# 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): - ## ZLE tweaks ## ## use the vi navigation keys (hjkl) besides cursor keys in menu completion @@ -41,12 +65,29 @@ #} #zle -N mquote && bindkey '^q' mquote -# define word separators (for stuff like backward-word, forward-word, backward-kill-word,..) -# WORDCHARS='*?_-.[]~=/&;!#$%^(){}<>' # the default -# WORDCHARS=. -# WORDCHARS='*?_[]~=&;!#$%^(){}' -# WORDCHARS='${WORDCHARS:s@/@}' +## define word separators (for stuff like backward-word, forward-word, backward-kill-word,..) +#WORDCHARS='*?_-.[]~=/&;!#$%^(){}<>' # the default +#WORDCHARS=. +#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 ## @@ -101,6 +142,9 @@ #) #zstyle ':completion:*:*:telnet:*' users-hosts-ports $telnet_users_hosts_ports +## the default grml setup provides '..' as a completion. it does not provide +## '.' though. If you want that too, use the following line: +#zstyle ':completion:*' special-dirs true ## aliases ## @@ -110,9 +154,6 @@ ## 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) ## @@ -136,10 +177,14 @@ ## miscellaneous code ## -## variations of our manzsh() function; pick you poison: +## Use a default width of 80 for manpages for more convenient reading +#export MANWIDTH=${MANWIDTH:-80} + +## Set a search path for the cd builtin +#cdpath=(.. ~) + +## 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() { @@ -149,6 +194,40 @@ # 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 [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 " >&2 +# fi +#} + ## log out? set timeout in seconds... ## ...and do not log out in some specific terminals: #if [[ "${TERM}" == ([Exa]term*|rxvt|dtterm|screen*) ]] ; then @@ -185,3 +264,4 @@ #vimpm () { vim `perldoc -l $1 | sed -e 's/pod$/pm/'` } #vimhelp () { vim -c "help $1" -c on -c "au! VimEnter *" } +## END OF FILE #################################################################