X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=22263e23ef4e20912c8f8e13daed58ab0895c3cc;hb=326ca582d78f5379f17f9314b2cde8fe47aec619;hp=03d9c4db61a9f4ada579ee04971c86ae0f59a1ed;hpb=86f2a9b8bb82077734fbb907bd24beedf65da6c2;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 03d9c4d..22263e2 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -172,6 +172,11 @@ EOF # check for version/system # check for versions (compatibility reasons) +function is51 () { + [[ $ZSH_VERSION == 5.<1->* ]] && return 0 + return 1 +} + function is4 () { [[ $ZSH_VERSION == <4->* ]] && return 0 return 1 @@ -427,10 +432,6 @@ is4 && setopt share_history # save each command's beginning timestamp and the duration to the history file setopt extended_history -# If a new command line being added to the history list duplicates an older -# one, the older command is removed from the list -is4 && setopt histignorealldups - # remove command lines from the history list when the first character on the # line is a space setopt histignorespace @@ -480,6 +481,7 @@ setopt unset # setting some default values NOCOR=${NOCOR:-0} +NOETCHOSTS=${NOETCHOSTS:-0} NOMENU=${NOMENU:-0} NOPRECMD=${NOPRECMD:-0} COMMAND_NOT_FOUND=${COMMAND_NOT_FOUND:-0} @@ -889,25 +891,25 @@ function grmlcomp () { fi # host completion + _etc_hosts=() + _ssh_config_hosts=() + _ssh_hosts=() if is42 ; then - [[ -r ~/.ssh/config ]] && _ssh_config_hosts=(${${(s: :)${(ps:\t:)${${(@M)${(f)"$(<$HOME/.ssh/config)"}:#Host *}#Host }}}:#*[*?]*}) || _ssh_config_hosts=() - [[ -r ~/.ssh/known_hosts ]] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=() - [[ -r /etc/hosts ]] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(/dev/null || return - tmux -q capture-pane \; save-buffer -b 0 $TMPFILE \; delete-buffer -b 0 + tmux -q capture-pane -b 0 \; save-buffer -b 0 $TMPFILE \; delete-buffer -b 0 else + [[ "$TERM" != "screen" ]] && return screen -X hardcopy $TMPFILE # screen sucks, it dumps in latin1, apparently always. so recode it # to system charset @@ -1645,7 +1652,13 @@ zrcautoload zed # else # print 'Notice: no url-quote-magic available :(' # fi -alias url-quote='autoload -U url-quote-magic ; zle -N self-insert url-quote-magic' +if is51 ; then + # url-quote doesn't work without bracketed-paste-magic since Zsh 5.1 + alias url-quote='autoload -U bracketed-paste-magic url-quote-magic; + zle -N bracketed-paste bracketed-paste-magic; zle -N self-insert url-quote-magic' +else + alias url-quote='autoload -U url-quote-magic ; zle -N self-insert url-quote-magic' +fi #m# k ESC-h Call \kbd{run-help} for the 1st word on the command line alias run-help >&/dev/null && unalias run-help @@ -2567,7 +2580,7 @@ function grml_reset_screen_title () { # see http://www.faqs.org/docs/Linux-mini/Xterm-Title.html [[ ${NOTITLE:-} -gt 0 ]] && return 0 case $TERM in - (xterm*|rxvt*|alacritty) + (xterm*|rxvt*|alacritty|foot) set_title ${(%):-"%n@%m: %~"} ;; esac @@ -2604,7 +2617,7 @@ function grml_cmd_to_screen_title () { function grml_control_xterm_title () { case $TERM in - (xterm*|rxvt*|alacritty) + (xterm*|rxvt*|alacritty|foot) set_title "${(%):-"%n@%m:"}" "$2" ;; esac @@ -2671,6 +2684,11 @@ else alias l='command ls -l' fi +# use ip from iproute2 with color support +if ip -color=auto addr show dev lo >/dev/null 2>&1; then + alias ip='command ip -color=auto' +fi + if [[ -r /proc/mdstat ]]; then alias mdstat='cat /proc/mdstat' fi @@ -2830,7 +2848,7 @@ if [ -e /var/log/syslog ] ; then #a1# Take a look at the syslog: \kbd{\$PAGER /var/log/syslog || journalctl} salias llog="$PAGER /var/log/syslog" # take a look at the syslog #a1# Take a look at the syslog: \kbd{tail -f /var/log/syslog || journalctl} - salias tlog="tail -f /var/log/syslog" # follow the syslog + salias tlog="tail --follow=name /var/log/syslog" # follow the syslog elif check_com -c journalctl ; then salias llog="journalctl" salias tlog="journalctl -f" @@ -3302,7 +3320,14 @@ zrcautoload lookupinit && lookupinit # variables # set terminal property (used e.g. by msgid-chooser) -export COLORTERM="yes" +case "${COLORTERM}" in + truecolor) + # do not overwrite + ;; + *) + export COLORTERM="yes" + ;; +esac # aliases