# 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
function sudo-command-line () {
[[ -z $BUFFER ]] && zle up-history
local cmd="sudo "
- if [[ ${BUFFER:0:${#cmd}} == ${cmd} ]]; then
+ if [[ ${BUFFER} == ${cmd}* ]]; then
CURSOR=$(( CURSOR-${#cmd} ))
- BUFFER="${BUFFER:${#cmd}}"
+ BUFFER="${BUFFER#$cmd}"
else
BUFFER="${cmd}${BUFFER}"
CURSOR=$(( CURSOR+${#cmd} ))