En bash, en utilisant le mode VI, si je frappe Esc,v, ma ligne de commande actuelle est ouverte dans l'éditeur spécifié par $EDITOR
Et je suis capable de le modifier en plein écran avant de "enregistrer" la commande à renvoyer à la coquille et exécutée.
Comment puis-je obtenir un comportement similaire dans ZSH? Frappe v En mode de commande, le mode de commande entraîne un effet apparent, malgré la variable d'environnement EDITOR
étant définie.
Voir edit-command-line
dans zshcontrib
.
bindkey -M vicmd v edit-command-line
Au cas où vous préférez EMACS Keybindings:
autoload -z edit-command-line
zle -N edit-command-line
bindkey "^X^E" edit-command-line
Vous pouvez utiliser fc
pour éditer la dernière commande de l'historique. Ce n'est pas la même chose que d'éditer la même commande, mais un coup rapide sur la touche Entrée rend votre commande actuelle la dernière commande de l'historique.
Ceci est la configuration complète que j'ai ajoutée à mon ~/.zshrc
Pour obtenir le même comportement de Bash:
export VISUAL=vim
autoload edit-command-line; zle -N edit-command-line
bindkey -M vicmd v edit-command-line