# display PID when suspending processes as well
setopt longlistjobs
-# try to avoid the 'zsh: no matches found...'
-setopt nonomatch
-
# report the status of backgrounds jobs immediately
setopt notify
typeset -ga ls_options
typeset -ga grep_options
+
+# Colors on GNU ls(1)
if ls --color=auto / >/dev/null 2>&1; then
ls_options+=( --color=auto )
+# Colors on FreeBSD and OSX ls(1)
elif ls -G / >/dev/null 2>&1; then
ls_options+=( -G )
fi
+
+# Natural sorting order on GNU ls(1)
+if ls -v / >/dev/null 2>&1; then
+ ls_options+=( -v )
+fi
+
+# Color on GNU and FreeBSD grep(1)
if grep --color=auto -q "a" <<< "a" >/dev/null 2>&1; then
grep_options+=( --color=auto )
fi
# 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
# history
-ZSHDIR=${ZDOTDIR:-${HOME}/.zsh}
-
#v#
HISTFILE=${ZDOTDIR:-${HOME}}/.zsh_history
isgrmlcd && HISTSIZE=500 || HISTSIZE=5000
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
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
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() {
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