O atalho "excluir palavra" do shell exclui muitos caracteres

9

Sob Bash, algum comportamento de Alt+ dme deixa louco desde anos e eu descobri que talvez pudesse ser corrigido com uma configuração.

Se eu estiver em um terminal e emitir um comando como este:

...$   cat >> ~/notesSuperLongFilename.txt

e então se eu quiser, digamos, emitir:

...$ scp ~/notesSuperLongFilename.txt

Gostaria de voltar a "cat >> ~ / notesSuperLongFilename.txt" usando Ctrl + p (linha anterior) e, em seguida, faça Ctrl+ ae depois Alt+ de Alt+ dnovamente para ter:

...$  ~/notesSuperLongFilename.txt

e então eu seria capaz de digitar "scp" e, em seguida, fazer um Ctrl+ m(ou pressionar Enter / Return).

No entanto, ele não funciona, porque após o primeiro Alt+ deu recebo:

...$ >> ~/notesSuperLongFilename.txt

(Por enquanto, tudo bem)

mas depois do segundo Alt+ deu recebo:

...$ .txt

Então, por alguma razão Alt+ dexclusões ">> ~ / notesSuperLongFilename" de uma só vez, em vez de simplesmente apagar ">>" .

Esse deve ser o maior desperdício de tempo que está me deixando louco com Linux / Bash desde literalmente anos.

Então, como posso corrigir esse comportamento (sem dúvida quebrado) de Alt+ d?

PS: Eu não sei quem é "responsável" para que Alt+ dcomportamento: Eu não sei se é o terminal ou se é o shell (Bash no meu caso).

Cedric Martin
fonte
depois de "cat >> ~ / notesSuperLongFilename.txt", digite "scp" e, em seguida, Esc ,. (Escape uma vez e, em seguida, o tempo de caracteres um "")
Mathieu

Respostas:

3

Não sei quem é "responsável" por esse comportamento do Alt + d: não sei se é o terminal ou se é o shell (Bash no meu caso).

É bash, especificamente, a configuração padrão de edição da linha de comando. Aqui está uma boa página sobre quais comandos podem ser vinculados e como alterar as ligações padrão.

A ligação padrão para Alt-dé kill-wordque deve funcionar como o comando de mesmo nome no Emacs. Como você observou, porém, isso não acontece - o Emacs consideraria o espaço entre >>e o til no seu exemplo como uma quebra de palavra. Isso bashnão, eu consideraria um bug. Com falta de obter a fonte bash, alterá-la e recompilar, não sei o que você pode fazer.

dodgethesteamroller
fonte
1
Isso parece ser um bug. Eu o denunciaria à equipe do Bash.
Ernie