En bash, en mode vi, si je frappe Esc, vma ligne de commande actuelle est ouverte dans l'éditeur spécifié par $EDITOR
et je peux l'éditer en plein écran avant de «sauvegarder» la commande à retourner au shell et à l'exécuter.
Comment puis-je obtenir un comportement similaire dans zsh? Frapper ven mode commande donne une sonnerie et n'a aucun effet apparent, malgré le EDITOR
paramétrage de la variable d'environnement.
edit-command-line
"widget", vous aurez besoin de quelque chose commeautoload edit-command-line; zle -N edit-command-line
dans l'un de vos fichiers init zsh (voir la section Fonctions ZLE de lazshcontrib
documentation ).bindkey -M vicmd v
établit.<ESC>
pour passer en mode commande à partir du mode insertion, puisv
en mode visuel (Meta-v
identique), ou simplementv
si vous êtes déjà en mode commande. Si vous utilisez le mode Emacs, la liaison typique estC-x C-e
.bindkey -M vicmd ' ' edit-command-line
Si vous préférez les raccourcis clavier Emacs:
la source
^x^e
liaison semble être un défaut avec le fichier .oh-my-zsh actuel , ce qui est extrêmement agréable.editor
module est chargé.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 appui rapide sur la touche Entrée transforme votre commande actuelle en dernière commande de l'historique.la source
Voici la configuration complète que j'ai ajoutée à mon
~/.zshrc
pour obtenir le même comportement de bash:la source
editor
module soit chargé et /vi
ouvim
sélectionné pour le mode commande.