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

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:


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.