Supprimer tout l'argument dans la ligne de commande bash actuelle


13

En utilisant ^W(unix-word-rubout), je peux facilement supprimer un seul "mot" de la commande actuelle dans mon shell bash.

Cependant, lorsque vous traitez des arguments entre guillemets contenant des espaces (ou des arguments sans guillemets contenant des espaces avec barre oblique inversée), cela ne fonctionne pas bien car il supprime uniquement un mot et non l'argument entier.

Je cherche donc un moyen de supprimer tout un argument.

Exemple (le curseur est toujours à la fin):

$ foo --bar "foo bar" meow
[black magic]
$ foo --bar "foo bar"
[black magic]
$ foo --bar
[black magic]
$ foo

Le passage à zsh est-il une option? (Je ne sais pas comment le faire dans zsh non plus, mais il a du code d'analyse de ligne de commande accessible à l'éditeur de ligne (ou au moins au système de complétion), donc cela devrait le rendre plus facile).
Gilles 'SO- arrête d'être méchant'

Réponses:


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.