X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=55715d82de50dabd5462958cde18b48be77d9f71;hb=140a5435230cc9e9d86b21d09f9110d9d1bf6873;hp=8e88d418ec1b3e9e6b5b9b54f14141181894c51f;hpb=2550abc86968ff51ff7931aeebaf2980db428855;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 8e88d41..55715d8 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -47,6 +47,14 @@ isgrmlsmall() { return 1 } fi + # are we running within an utf environment? + isutfenv() { + case "$LANG $CHARSET $LANGUAGE" in + *utf*) return 0 ;; + *) return 1 ;; + esac + } + # check for user, if not running as root set $SUDO to sudo (( EUID != 0 )) && SUDO='sudo' || SUDO='' @@ -306,7 +314,8 @@ fi # }}} # {{{ set some important options - umask 022 + # umask 022 + umask 002 # history: setopt append_history # append history list to the history file (important for multiple parallel zsh sessions!) @@ -535,7 +544,11 @@ ${BLUE}%n${NO_COLOUR}@%m %40<...<%B%~%b%<< %# " # truecrypt; use e.g. via 'truec /dev/ice' /mnt/ice' or 'truec -i' if [ -x /usr/sbin/truecrypt ] ; then - alias truec='truecrypt --mount-options "rw,sync,dirsync,users,uid=1000,gid=users,umask=077" ' + if isutfenv ; then + alias truec='truecrypt --mount-options "rw,sync,dirsync,users,uid=1000,gid=users,umask=077,utf8" ' + else + alias truec='truecrypt --mount-options "rw,sync,dirsync,users,uid=1000,gid=users,umask=077" ' + fi fi zsh-help(){print "$bg[white]$fg[black] @@ -546,7 +559,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 @@ -667,8 +680,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 '' @@ -820,9 +831,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() { @@ -830,10 +847,10 @@ If you want to use xinit anyway please call \"/usr/bin/xinit\"." most /usr/share/doc/${1}/changelog.Debian.gz else if [ -r /usr/share/doc/${1}/changelog.gz ] ; then - most /usr/share/doc/${1}/changelog.gz + most /usr/share/doc/${1}/changelog.gz else - echo "No changelog for package $1 found, sorry." - return 1 + echo "No changelog for package $1 found, sorry." + return 1 fi fi } @@ -914,7 +931,21 @@ 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() { + if [ -z "$1" ] ; then + echo "any - grep for process(es) by keyword" >&2 + echo "Usage: any " >&2 ; return 1 + else + local STRING=$1 + local LENGTH=$(expr length $STRING) + local FIRSCHAR=$(echo $(expr substr $STRING 1 1)) + local REST=$(echo $(expr substr $STRING 2 $LENGTH)) + ps xauwww| grep [$FIRSCHAR]$REST + fi + } # }}}