• # sudo

    Posté par (site web personnel) . En réponse au journal Alterner les répertoires avec zsh. Évalué à 4.

    J'utilise une astuce similaire pour faire "sudo" la dernière commande ou pour insérer/retirer sudo en début de commande.

    # Meta-S will toggle sudo
    function vbe-sudo-command-line() {
     [[ -z $BUFFER ]] && zle up-history
     if [[ $BUFFER == sudo\ * ]]; then
     LBUFFER="${LBUFFER#sudo }"
     else
     LBUFFER="sudo $LBUFFER"
     fi
    }
    zle -N vbe-sudo-command-line
    bindkey "\es" vbe-sudo-command-line

    Toujours dans le même genre, je transforme à la volée le ... en ../.. (et ainsi de suite):

    # Expand ... to ../..
    function vbe-expand-dot-to-parent-directory-path() {
     case $LBUFFER in
     (./..|* ./..) LBUFFER+='.' ;; # In Go: "go list ./..."
     (..|*[ /=]..) LBUFFER+='/..' ;;
     (*) LBUFFER+='.' ;;
     esac
    }
    zle -N vbe-expand-dot-to-parent-directory-path
    bindkey "." vbe-expand-dot-to-parent-directory-path
    bindkey -M isearch "." self-insert