X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=addc8e6fbfc1135eabc32a90760dba20e84af4ed;hb=refs%2Ftags%2F0.2.12;hp=e9d02a627f041bcbecbb1854858513cee95565e2;hpb=f8575ae892e55a8826f15a20ac3f7de177079afe;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index e9d02a6..addc8e6 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -372,6 +372,16 @@ fi isgrmlcd && SAVEHIST=1000 || SAVEHIST=10000 # useful for setopt append_history # }}} +# dirstack handling {{{ + DIRSTACKSIZE=20 + if [[ -f ~/.zdirs ]] && [[ ${#dirstack[*]} -eq 0 ]]; then + dirstack=( ${(uf)"$(< ~/.zdirs)"} ) + # "cd -" won't work after login by just setting $OLDPWD, so + cd $dirstack[0] && cd $OLDPWD + fi + chpwd() { dirs -pl >! ~/.zdirs } +# }}} + # {{{ display battery status on right side of prompt via running 'BATTERY=1 zsh' if [ -n "$BATTERY" ] ; then if [ -x =acpi ] ; then @@ -396,8 +406,8 @@ fi # precmd () { setopt promptsubst; [[ -o interactive ]] && jobs -l; - is4 && ! [[ -n "$NOPRECMD" ]] && precmd () { - (( NOPRECMD > 0 )) && return 0 + is4 && [[ -z $NOPRECMD ]] && precmd () { + [[ -n $NOPRECMD ]] && return 0 # just use DONTSETRPROMPT=1 to be able to overwrite RPROMPT if [[ -z ${DONTSETRPROMPT} ]] ; then if [ -n "$BATTERY" ] ; then @@ -419,8 +429,8 @@ fi # chpwd () => a function which is executed whenever the directory is changed # preexec() => a function running before every command - is4 && ! [[ -n "$NOPRECMD" ]] && preexec () { - (( NOPRECMD > 0 )) && return 0 + is4 && [[ -z $NOPRECMD ]] && preexec () { + [[ -n $NOPRECMD ]] && return 0 # set hostname if not running on host with name 'grml' local HOSTNAME=$(hostname) if [[ "$HOSTNAME" != grml ]] ; then @@ -559,7 +569,7 @@ Main configuration of zsh happens in /etc/zsh/zshrc (global) and /etc/skel/.zshrc which is copied to \$HOME/.zshrc once. The files are part of the package grml-etc-core, if you want to use them on a non-grml-system just get the tar.gz from -http://grml.org/repos/ or get the files from the mercurial +http://deb.grml.org/ or get the files from the mercurial repository: http://hg.grml.org/grml-etc-core/raw-file/tip/etc/skel/.zshrc @@ -680,8 +690,6 @@ grmlcomp() { zstyle ':completion:*:history-words' menu yes # activate menu zstyle ':completion:*:history-words' remove-all-dups yes # ignore duplicate entries zstyle ':completion:*:history-words' stop yes # - zstyle ':completion:*:*:linda:*' file-patterns '*.deb' # complete debian packages for command 'linda' - zstyle ':completion:*:*:lintian:*' file-patterns '*.deb' # complete debian packages for command 'lintian' zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' # match uppercase from lowercase zstyle ':completion:*:matches' group 'yes' # separate matches into groups zstyle ':completion:*' group-name '' @@ -833,9 +841,15 @@ If you want to use xinit anyway please call \"/usr/bin/xinit\"." # shell functions {{{ 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 ; } + + # fast manual access + if type -p qma &>/dev/null ; then + manzsh() { qma zshall "$1" } + else + 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 ; } + fi # use "dchange " to view Debian's changelog of the package: dchange() { @@ -927,7 +941,7 @@ If you want to use xinit anyway please call \"/usr/bin/xinit\"." } alias help-zshglob=H-Glob - type -p fma &>/dev/null && alias ?='fma zshall' + type -p qma &>/dev/null && alias ?='qma zshall' # grep for running process, like: 'any vim' any() {