X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=80828e04f16ef645b02ce1901826eafae14e2c66;hb=fd3a55f78b1e316727760a92dcd3f0759013549c;hp=b6c83757dc2f9b0ed75e641b86f6132a803de06a;hpb=016955c64b5c7a1c90af47a1a26ffe466736a12b;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index b6c8375..80828e0 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -805,9 +805,16 @@ grmlcomp() { # command for process lists, the local web server details and host completion zstyle ':completion:*:urls' local 'www' '/var/www/' 'public_html' - # caching - [[ -d $ZSHDIR/cache ]] && zstyle ':completion:*' use-cache yes && \ - zstyle ':completion::complete:*' cache-path $ZSHDIR/cache/ + # Some functions, like _apt and _dpkg, are very slow. We can use a cache in + # order to speed things up + if [[ ${GRML_COMP_CACHING:-yes} == yes ]]; then + GRML_COMP_CACHE_DIR=${GRML_COMP_CACHE_DIR:-${ZDOTDIR:-$HOME}/.cache} + if [[ ! -d ${GRML_COMP_CACHE_DIR} ]]; then + command mkdir -p "${GRML_COMP_CACHE_DIR}" + fi + zstyle ':completion:*' use-cache yes + zstyle ':completion:*:complete:*' cache-path "${GRML_COMP_CACHE_DIR}" + fi # host completion if is42 ; then @@ -1617,12 +1624,12 @@ chpwd() { builtin print -l ${GRML_PERSISTENT_DIRSTACK} >! ${DIRSTACKFILE} } -if [[ -f ${DIRSTACKFILE} ]] && [[ ${#dirstack[*]} -eq 0 ]] ; then +if [[ -f ${DIRSTACKFILE} ]]; then # Enabling NULL_GLOB via (N) weeds out any non-existing # directories from the saved dir-stack file. dirstack=( ${(f)"$(< $DIRSTACKFILE)"}(N) ) # "cd -" won't work after login by just setting $OLDPWD, so - [[ -d $dirstack[1] ]] && cd $dirstack[1] && cd $OLDPWD + [[ -d $dirstack[1] ]] && cd -q $dirstack[1] && cd -q $OLDPWD fi if zstyle -T ':grml:chpwd:dirstack' filter-on-load; then @@ -2504,16 +2511,14 @@ hash -d www=/var/www if check_com -c screen ; then if [[ $UID -eq 0 ]] ; then if [[ -r /etc/grml/screenrc ]]; then - alias screen="${commands[screen]} -c /etc/grml/screenrc" + alias screen='screen -c /etc/grml/screenrc' fi - elif [[ -r $HOME/.screenrc ]] ; then - alias screen="${commands[screen]} -c $HOME/.screenrc" - else + elif [[ ! -r $HOME/.screenrc ]] ; then if [[ -r /etc/grml/screenrc_grml ]]; then - alias screen="${commands[screen]} -c /etc/grml/screenrc_grml" + alias screen='screen -c /etc/grml/screenrc_grml' else if [[ -r /etc/grml/screenrc ]]; then - alias screen="${commands[screen]} -c /etc/grml/screenrc" + alias screen='screen -c /etc/grml/screenrc' fi fi fi @@ -2703,11 +2708,10 @@ __EOF0__ fi fi -# Use hard limits, except for a smaller stack and no core dumps -unlimit -is425 && limit stack 8192 -isgrmlcd && limit core 0 # important for a live-cd-system -limit -s +if isgrmlcd; then + # No core dumps: important for a live-cd-system + limit -s core 0 +fi # grmlstuff grmlstuff() { @@ -3515,17 +3519,6 @@ _simple_extract() compdef _simple_extract simple-extract alias se=simple-extract -#f5# Set all ulimit parameters to \kbd{unlimited} -allulimit() { - ulimit -c unlimited - ulimit -d unlimited - ulimit -f unlimited - ulimit -l unlimited - ulimit -n unlimited - ulimit -s unlimited - ulimit -t unlimited -} - #f5# Change the xterm title from within GNU-screen xtrename() { emulate -L zsh