web-dev-qa-db-fra.com

Comment modifier la ligne de commande dans l'éditeur d'écran complet dans ZSH?

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.

58
Murali Suriar

Voir edit-command-line dans zshcontrib.

bindkey -M vicmd v edit-command-line
41
ephemient

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
41
Daniel Serodio

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.

25
Christoph Wurm

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
16
Matt Hughes