From: Michael Prokop Date: Wed, 19 May 2021 05:21:29 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/github/pr/119' X-Git-Tag: v0.19.0~2 X-Git-Url: http://git.grml.org/?p=grml-etc-core.git;a=commitdiff_plain;h=a535da7d3bb6ae0368d518a6638d4d8111dcbe23;hp=03190b2e7addd10c62bf17caa3c1530d8de72926 Merge remote-tracking branch 'origin/github/pr/119' --- diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 5a74fee..718853f 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -1200,10 +1200,15 @@ zle -N grml-zsh-fg # 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