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

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:


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.