Alternative à “fc -s” en zsh?

7

En bash, j'avais un pseudonyme pratique:

alias r="fc -s"

Ce qui vient de répéter la dernière commande. Identique à !!. Je suis maintenant habitué (mémoire musculaire), mais je n'arrive pas à comprendre comment recréer le pseudonyme. fcn'a pas d' -soption dans zsh. Comment puis-je lier un !!comportement à r?

Ruslan Osipov
la source

Réponses:

8

La commande

fc -e -

devrait faire ce que vous voulez. C'est un peu délicat, car fc -e [edit-cmd]vous permet d'éditer cette dernière commande avec un éditeur. Mais si les [edit-cmd]égaux -, aucun éditeur n'est appelé et la commande est exécutée immédiatement.

Mais vous n’avez pas besoin d’un alias pour cela, car la commande rest déjà définie dans le shell Z :

$ which r
r: shell built-in command

Et que fait-il? La page de manuel zshbuiltins le sait:

r Identique à fc -e -.

mpy
la source
Ce qui est bizarre, c'est qu'il n'y a pas de documentation sur ce que fc -e fait réellement !
Marco
@Marco: Désolé, je ne comprends pas ce que tu veux dire. J'ai donné un résumé de ce qui se fc -e -passe dans mes propres mots. La documentation est dans man zshbuiltins: fc [-e ename] [-LI] [-m correspondance] [ancien = nouveau ...] [premier [dernier]] (...) Sinon, le programme d’éditeur ename est appelé sur un fichier contenant ces événements d'histoire. (...)
mpy
@mpy Désolé, ce commentaire ne vous était pas destiné! La mandocumentation ( zshallpar exemple) n’explique pas ce fc -equi est frustrant. Il mentionne fc -e, mais ne dit pas ce qu'il fait.
Marco
BTW, vous n'avez pas donné un résumé de ce que fc -efait - vous avez seulement dit qu'il "devrait faire ce que vous voulez".
Marco