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
ThiefMaster
la source
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: