140 votes

Commentaires en ligne de commande Zsh

Je suis passé très récemment, à partir de Bash pour Zsh sur Ubuntu et je suis très heureux à ce sujet. Cependant, il y a quelque chose que j'ai vraiment manquer et je n'ai pas trouver comment obtenir la même chose.

En Bash, chaque fois que j'étais en tapant une commande longue et remarqué que j'avais à exécuter quelque chose d'autre avant, j'ai juste eu à le commenter comme suit:

me@home> #mysuperlongcommand with some arguments
me@home> thecommandIhavetorunfirst #and then: then up up
me@home> #mysuperlongcommand with some arguments #I just need to uncomment it!

Cependant, cette assez récurrent situation n'est pas aussi facile à résoudre avec Zsh, compte tenu de "#mysuperlongcommand' sera exécuté en tant que tel (et dans: "zsh: command not found: #mysuperlongcommand".

Une idée?

Merci à l'avance!

203voto

Lajnold Points 969

Après avoir commencé juste essayer de zsh, je suis tombé sur ce problème trop. Vous pouvez faire `` pour activer les commentaires de bash-style.

44voto

Michał Politowski Points 1675

J'utilise

bindkey "^Q" push-input

À partir de la zsh manuel:

Pousser l'ensemble multiligne construire sur la mémoire tampon de la pile et revenir au niveau supérieur (PS1) invite. Si le courant analyseur de construction est seulement une seule ligne, c'est exactement comme push-ligne. La prochaine fois, l'éditeur démarre ou est sorti avec get-ligne, la construction sera sauté le haut de la mémoire tampon de la pile et de le charger dans la mémoire tampon d'édition.

De sorte qu'il ressemble à ceci:

> long command
Ctrl+Q => long command disappears to the stack
> forgotten command
long command reappears from stack
> long command

Aussi, si vous définissez l' INTERACTIVE_COMMENTS option (setopt INTERACTIVE_COMMENTS), vous serez en mesure d'utiliser les commentaires en interactif coquilles, comme vous avez l'habitude.

21voto

Je me retrouve à faire cela souvent ainsi. Ce que je fais est coupé la longue commande, exécutez la commande qui doit passer en premier et puis collez le long commande retour en. C’est simple : CTRL + U coupe la commande actuelle dans une mémoire tampon, coller CTRL + Y . Fonctionne en bash et zsh.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X