Update zshrc

This commit is contained in:
2018-12-30 19:49:25 +01:00
parent ddb3ffbde0
commit dc0b520fb0

View File

@@ -431,11 +431,22 @@ ZSH_NO_DEFAULT_LOCALE=${ZSH_NO_DEFAULT_LOCALE:-0}
typeset -ga ls_options typeset -ga ls_options
typeset -ga grep_options typeset -ga grep_options
# Colors on GNU ls(1)
if ls --color=auto / >/dev/null 2>&1; then if ls --color=auto / >/dev/null 2>&1; then
ls_options+=( --color=auto ) ls_options+=( --color=auto )
# Colors on FreeBSD and OSX ls(1)
elif ls -G / >/dev/null 2>&1; then elif ls -G / >/dev/null 2>&1; then
ls_options+=( -G ) ls_options+=( -G )
fi 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 if grep --color=auto -q "a" <<< "a" >/dev/null 2>&1; then
grep_options+=( --color=auto ) grep_options+=( --color=auto )
fi fi
@@ -659,7 +670,10 @@ fi
# completion system # completion system
COMPDUMPFILE=${COMPDUMPFILE:-${ZDOTDIR:-${HOME}}/.zcompdump} COMPDUMPFILE=${COMPDUMPFILE:-${ZDOTDIR:-${HOME}}/.zcompdump}
if zrcautoload compinit ; then 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 else
print 'Notice: no compinit available :(' print 'Notice: no compinit available :('
function compdef { } function compdef { }
@@ -1208,7 +1222,7 @@ function help_zle_parse_keybindings () {
help_zle_keybindings['<Alt><arg>']="repeat next cmd/char <arg> times (<Alt>-<Alt>1<Alt>0a -> -10 times 'a')" 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>u']="make next word Uppercase"
help_zle_keybindings['<Alt>l']="make next word lowercase" 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>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>.']="insert (and interate through) last word from prev CLs"
help_zle_keybindings['<Alt>,']="complete word from newer history (consecutive hits)" help_zle_keybindings['<Alt>,']="complete word from newer history (consecutive hits)"
@@ -1582,7 +1596,7 @@ function command_not_found_handler () {
# history # history
#v# #v#
HISTFILE=${ZDOTDIR:-${HOME}}/.zsh_history HISTFILE=${HISTFILE:-${ZDOTDIR:-${HOME}}/.zsh_history}
isgrmlcd && HISTSIZE=500 || HISTSIZE=5000 isgrmlcd && HISTSIZE=500 || HISTSIZE=5000
isgrmlcd && SAVEHIST=1000 || SAVEHIST=10000 # useful for setopt append_history isgrmlcd && SAVEHIST=1000 || SAVEHIST=10000 # useful for setopt append_history
@@ -2691,22 +2705,24 @@ Enjoy your grml system with the zsh!$reset_color"
# debian stuff # debian stuff
if [[ -r /etc/debian_version ]] ; then if [[ -r /etc/debian_version ]] ; then
if [[ -z "$GRML_NO_APT_ALIASES" ]]; 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} #a3# Execute \kbd{apt-cache policy}
alias acp='apt-cache policy' alias acp='apt-cache policy'
if check_com -c apt ; then 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} #a3# Execute \kbd{apt dist-upgrade}
salias adg="apt dist-upgrade" salias adg="apt dist-upgrade"
#a3# Execute \kbd{apt upgrade} #a3# Execute \kbd{apt upgrade}
salias ag="apt upgrade" salias ag="apt upgrade"
#a3# Execute \kbd{apt install} #a3# Execute \kbd{apt install}
salias agi="apt install" salias agi="apt install"
#a3# Execute \kbd{apt-get update} #a3# Execute \kbd{apt update}
salias au="apt update" salias au="apt update"
else else
alias acs='apt-cache search'
alias acsh='apt-cache show'
salias adg="apt-get dist-upgrade" salias adg="apt-get dist-upgrade"
salias ag="apt-get upgrade" salias ag="apt-get upgrade"
salias agi="apt-get install" salias agi="apt-get install"
@@ -3255,7 +3271,7 @@ fi
#f5# Backup \kbd{file_or_folder {\rm to} file_or_folder\_timestamp} #f5# Backup \kbd{file_or_folder {\rm to} file_or_folder\_timestamp}
function bk () { function bk () {
emulate -L zsh 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 local clean keep move verbose result all to_bk
setopt extended_glob setopt extended_glob
keep=1 keep=1
@@ -3312,14 +3328,14 @@ return 0;;
elif (( clean > 0 )); then elif (( clean > 0 )); then
if (( $# > 0 )); then if (( $# > 0 )); then
for to_bk in "$@"; do 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 += $? )) (( result += $? ))
done done
else else
if (( all > 0 )); then 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 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 fi
(( result += $? )) (( result += $? ))
fi fi
@@ -3717,7 +3733,7 @@ if check_com -c hg ; then
fi # end of check whether we have the 'hg'-executable fi # end of check whether we have the 'hg'-executable
# grml-small cleanups # grml-small cleanups and workarounds
# The following is used to remove zsh-config-items that do not work # The following is used to remove zsh-config-items that do not work
# in grml-small by default. # in grml-small by default.
@@ -3727,6 +3743,8 @@ fi # end of check whether we have the 'hg'-executable
if (( GRMLSMALL_SPECIFIC > 0 )) && isgrmlsmall ; then if (( GRMLSMALL_SPECIFIC > 0 )) && isgrmlsmall ; then
# Clean up
unset "abk[V]" unset "abk[V]"
unalias 'V' &> /dev/null unalias 'V' &> /dev/null
unfunction vman &> /dev/null unfunction vman &> /dev/null
@@ -3737,6 +3755,36 @@ if (( GRMLSMALL_SPECIFIC > 0 )) && isgrmlsmall ; then
unfunction manzsh &> /dev/null unfunction manzsh &> /dev/null
unfunction man2 &> /dev/null unfunction man2 &> /dev/null
# Workarounds
# See https://github.com/grml/grml/issues/56
if ! [[ -x ${commands[dig]} ]]; then
function dig_after_all () {
unfunction dig
unfunction _dig
autoload -Uz _dig
unfunction dig_after_all
}
function dig () {
if [[ -x ${commands[dig]} ]]; then
dig_after_all
command dig "$@"
return "$!"
fi
printf 'This installation does not include `dig'\'' for size reasons.\n'
printf 'Try `drill'\'' as a light weight alternative.\n'
return 0
}
function _dig () {
if [[ -x ${commands[dig]} ]]; then
dig_after_all
zle -M 'Found `dig'\'' installed. '
else
zle -M 'Try `drill'\'' instead of `dig'\''.'
fi
}
compdef _dig dig
fi
fi fi
zrclocal zrclocal