# ------------------------------------------------------------------------------ # Description # ----------- # # sudo or sudoedit will be inserted before the command # # ------------------------------------------------------------------------------ # Authors # ------- # # * Dongweiming # # ------------------------------------------------------------------------------ sudo-command-line() { [[ -z $BUFFER ]] && zle up-history if [[ $BUFFER == sudo\ * ]]; then LBUFFER="${LBUFFER#sudo }" elif [[ $BUFFER == $EDITOR\ * ]]; then LBUFFER="${LBUFFER#$EDITOR }" LBUFFER="sudoedit $LBUFFER" elif [[ $BUFFER == sudoedit\ * ]]; then LBUFFER="${LBUFFER#sudoedit }" LBUFFER="$EDITOR $LBUFFER" else LBUFFER="sudo $LBUFFER" fi } zle -N sudo-command-line # Defined shortcut keys: [Esc] [Esc] bindkey "\e\e" sudo-command-line