projects
/
grml-etc-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/github/pr/130'
[grml-etc-core.git]
/
etc
/
zsh
/
zshrc
diff --git
a/etc/zsh/zshrc
b/etc/zsh/zshrc
index
03d9c4d
..
8ff4dde
100644
(file)
--- a/
etc/zsh/zshrc
+++ b/
etc/zsh/zshrc
@@
-172,6
+172,11
@@
EOF
# check for version/system
# check for versions (compatibility reasons)
# 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
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
# 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
# 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}
# setting some default values
NOCOR=${NOCOR:-0}
+NOETCHOSTS=${NOETCHOSTS:-0}
NOMENU=${NOMENU:-0}
NOPRECMD=${NOPRECMD:-0}
COMMAND_NOT_FOUND=${COMMAND_NOT_FOUND:-0}
NOMENU=${NOMENU:-0}
NOPRECMD=${NOPRECMD:-0}
COMMAND_NOT_FOUND=${COMMAND_NOT_FOUND:-0}
@@
-892,7
+894,7
@@
function grmlcomp () {
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=()
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)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
+ [[ -r /etc/hosts ]] &&
[[ "$NOETCHOSTS" -eq 0 ]] &&
: ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
else
_ssh_config_hosts=()
_ssh_hosts=()
else
_ssh_config_hosts=()
_ssh_hosts=()
@@
-900,14
+902,7
@@
function grmlcomp () {
fi
local localname
fi
local localname
- if check_com hostname ; then
- localname=$(hostname)
- elif check_com hostnamectl ; then
- localname=$(hostnamectl --static)
- else
- localname="$(uname -n)"
- fi
-
+ localname="$(uname -n)"
hosts=(
"${localname}"
"$_ssh_config_hosts[@]"
hosts=(
"${localname}"
"$_ssh_config_hosts[@]"
@@
-1195,10
+1190,15
@@
zle -N grml-zsh-fg
# run command line as user root via sudo:
function sudo-command-line () {
[[ -z $BUFFER ]] && zle up-history
# run command line as user root via sudo:
function sudo-command-line () {
[[ -z $BUFFER ]] && zle up-history
- if [[ $BUFFER != sudo\ * ]]; then
- BUFFER="sudo $BUFFER"
- CURSOR=$(( CURSOR+5 ))
+ local cmd="sudo "
+ if [[ ${BUFFER} == ${cmd}* ]]; then
+ CURSOR=$(( CURSOR-${#cmd} ))
+ BUFFER="${BUFFER#$cmd}"
+ else
+ BUFFER="${cmd}${BUFFER}"
+ CURSOR=$(( CURSOR+${#cmd} ))
fi
fi
+ zle reset-prompt
}
zle -N sudo-command-line
}
zle -N sudo-command-line
@@
-1645,7
+1645,13
@@
zrcautoload zed
# else
# print 'Notice: no url-quote-magic available :('
# fi
# 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
#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
+2573,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
# 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
set_title ${(%):-"%n@%m: %~"}
;;
esac
@@
-2604,7
+2610,7
@@
function grml_cmd_to_screen_title () {
function grml_control_xterm_title () {
case $TERM in
function grml_control_xterm_title () {
case $TERM in
- (xterm*|rxvt*|alacritty)
+ (xterm*|rxvt*|alacritty
|foot
)
set_title "${(%):-"%n@%m:"}" "$2"
;;
esac
set_title "${(%):-"%n@%m:"}" "$2"
;;
esac
@@
-2671,6
+2677,11
@@
else
alias l='command ls -l'
fi
alias l='command ls -l'
fi
+# use ip from iproute2 with color support
+if ip --color=auto addr >/dev/null 2>&1; then
+ alias ip='command ip --color=auto'
+fi
+
if [[ -r /proc/mdstat ]]; then
alias mdstat='cat /proc/mdstat'
fi
if [[ -r /proc/mdstat ]]; then
alias mdstat='cat /proc/mdstat'
fi
@@
-3302,7
+3313,14
@@
zrcautoload lookupinit && lookupinit
# variables
# set terminal property (used e.g. by msgid-chooser)
# 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
# aliases