# 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
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[@]"
# 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
+ zle reset-prompt
}
zle -N sudo-command-line