Preserve cursor position with `sudo-command-line' [Closes: issue980]
authorFrank Terbeck <ft@grml.org>
Tue, 19 Apr 2011 21:13:00 +0000 (23:13 +0200)
committerFrank Terbeck <ft@grml.org>
Tue, 19 Apr 2011 21:15:27 +0000 (23:15 +0200)
Code suggested by Bernhard, minor adjustments by me.

Reported-by: Bernhard Tittelbach <xro@realraum.at>
Signed-off-by: Frank Terbeck <ft@grml.org>
etc/zsh/zshrc

index e1515dc..8643fae 100644 (file)
@@ -938,7 +938,10 @@ bindkey '^z' grml-zsh-fg
 # run command line as user root via sudo:
 sudo-command-line() {
     [[ -z $BUFFER ]] && zle up-history
-    [[ $BUFFER != sudo\ * ]] && BUFFER="sudo $BUFFER"
+    if [[ $BUFFER != sudo\ * ]]; then
+        BUFFER="sudo $BUFFER"
+        CURSOR=$(( CURSOR+5 ))
+    fi
 }
 zle -N sudo-command-line