Usuń cały argument w bieżącym wierszu poleceń bash

13

Używając ^W(unix-word-rubout) mogę łatwo usunąć pojedyncze „słowo” z bieżącego polecenia w mojej powłoce bash.

Jednak w przypadku argumentów cytowanych zawierających spacje (lub niecytowanych argumentów zawierających spacje z odwrotnym ukośnikiem) nie działa to dobrze, ponieważ usuwa tylko jedno słowo, a nie cały argument.

Więc szukam sposobu na usunięcie całego argumentu.

Przykład (kursor znajduje się zawsze na końcu):

$ foo --bar "foo bar" meow
[black magic]
$ foo --bar "foo bar"
[black magic]
$ foo --bar
[black magic]
$ foo
ThiefMaster
źródło
Czy przejście na Zsh jest opcją? (Nie wiem, jak to zrobić w zsh ani bezpośrednio, ale ma on pewien kod parsowania wiersza poleceń dostępny dla edytora linii (lub przynajmniej systemu uzupełniania), więc powinno to ułatwić).
Gilles 'SO - przestań być zły'

Odpowiedzi: