Excluir argumento inteiro na linha de comando atual do bash

13

Usando ^W(unix-word-rubout), posso excluir facilmente uma única "palavra" do comando atual no meu shell bash.

No entanto, ao lidar com argumentos entre aspas que contêm espaços (ou argumentos sem aspas que contêm espaços com escape de barra invertida), isso não funciona bem, pois exclui apenas uma palavra e não o argumento inteiro.

Então, estou procurando uma maneira de excluir um argumento inteiro.

Exemplo (o cursor está sempre no final):

$ foo --bar "foo bar" meow
[black magic]
$ foo --bar "foo bar"
[black magic]
$ foo --bar
[black magic]
$ foo
ThiefMaster
fonte
A mudança para o zsh é uma opção? (Eu não sei como fazê-lo no zsh de imediato, mas ele possui algum código de análise de linha de comando acessível ao editor de linha (ou pelo menos ao sistema de conclusão), de modo que deve ser mais fácil).
Gilles 'SO- stop be evil'

Respostas: