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)
+# OSX and IllumOS have a -v option that is not natural sorting
+if ls --version |& grep -q 'GNU' >/dev/null 2>&1 && 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
# completion system
COMPDUMPFILE=${COMPDUMPFILE:-${ZDOTDIR:-${HOME}}/.zcompdump}
if zrcautoload compinit ; then
- compinit -d ${COMPDUMPFILE} || print 'Notice: no compinit available :('
+ typeset -a tmp
+ zstyle -a ':grml:completion:compinit' arguments tmp
+ compinit -d ${COMPDUMPFILE} "${tmp[@]}" || print 'Notice: no compinit available :('
+ unset tmp
else
print 'Notice: no compinit available :('
function compdef { }
help_zle_keybindings['<Alt><arg>']="repeat next cmd/char <arg> times (<Alt>-<Alt>1<Alt>0a -> -10 times 'a')"
help_zle_keybindings['<Alt>u']="make next word Uppercase"
help_zle_keybindings['<Alt>l']="make next word lowercase"
- help_zle_keybindings['<Ctrl>xd']="preview expansion under cursor"
+ help_zle_keybindings['<Ctrl>xG']="preview expansion under cursor"
help_zle_keybindings['<Alt>q']="push current CL into background, freeing it. Restore on next CL"
help_zle_keybindings['<Alt>.']="insert (and interate through) last word from prev CLs"
help_zle_keybindings['<Alt>,']="complete word from newer history (consecutive hits)"
#v#
HISTFILE=${HISTFILE:-${ZDOTDIR:-${HOME}}/.zsh_history}
-isgrmlcd && HISTSIZE=500 || HISTSIZE=${HISTSIZE:-5000}
-isgrmlcd && SAVEHIST=1000 || SAVEHIST=${SAVEHIST:-10000} # useful for setopt append_history
+isgrmlcd && HISTSIZE=500 || HISTSIZE=5000
+isgrmlcd && SAVEHIST=1000 || SAVEHIST=10000 # useful for setopt append_history
# dirstack handling
# debian stuff
if [[ -r /etc/debian_version ]] ; then
if [[ -z "$GRML_NO_APT_ALIASES" ]]; then
- #a3# Execute \kbd{apt-cache search}
- alias acs='apt-cache search'
- #a3# Execute \kbd{apt-cache show}
- alias acsh='apt-cache show'
#a3# Execute \kbd{apt-cache policy}
alias acp='apt-cache policy'
if check_com -c apt ; then
+ #a3# Execute \kbd{apt search}
+ alias acs='apt search'
+ #a3# Execute \kbd{apt show}
+ alias acsh='apt show'
#a3# Execute \kbd{apt dist-upgrade}
salias adg="apt dist-upgrade"
#a3# Execute \kbd{apt upgrade}
salias ag="apt upgrade"
#a3# Execute \kbd{apt install}
salias agi="apt install"
- #a3# Execute \kbd{apt-get update}
+ #a3# Execute \kbd{apt update}
salias au="apt update"
else
+ alias acs='apt-cache search'
+ alias acsh='apt-cache show'
salias adg="apt-get dist-upgrade"
salias ag="apt-get upgrade"
salias agi="apt-get install"
#f5# Backup \kbd{file_or_folder {\rm to} file_or_folder\_timestamp}
function bk () {
emulate -L zsh
- local current_date=$(date -u "+%Y-%m-%dT%H:%M:%SZ")
+ local current_date=$(date -u "+%Y%m%dT%H%M%SZ")
local clean keep move verbose result all to_bk
setopt extended_glob
keep=1
elif (( clean > 0 )); then
if (( $# > 0 )); then
for to_bk in "$@"; do
- rm $verbose -rf "${to_bk%/}"_[0-9](#c4,)-(0[0-9]|1[0-2])-([0-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:[0-5][0-9])(#c2)Z
+ rm $verbose -rf "${to_bk%/}"_[0-9](#c8)T([0-1][0-9]|2[0-3])([0-5][0-9])(#c2)Z
(( result += $? ))
done
else
if (( all > 0 )); then
- rm $verbose -rf *_[0-9](#c4,)-(0[0-9]|1[0-2])-([0-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:[0-5][0-9])(#c2)Z(D)
+ rm $verbose -rf *_[0-9](#c8)T([0-1][0-9]|2[0-3])([0-5][0-9])(#c2)Z(D)
else
- rm $verbose -rf *_[0-9](#c4,)-(0[0-9]|1[0-2])-([0-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:[0-5][0-9])(#c2)Z
+ rm $verbose -rf *_[0-9](#c8)T([0-1][0-9]|2[0-3])([0-5][0-9])(#c2)Z
fi
(( result += $? ))
fi