Bash: apaga a palavra à frente do cursor

62

Considere o seguinte prompt bash, em que ^ indica a localização do prompt:

svn commit -m very/long/path/to/some/file "[bug 123456] Fix the pixel issue"
              ^

Gostaria de enviar um arquivo diferente com a mesma mensagem. Como posso apagar a palavra atual, da localização do cursor para o próximo espaço? Existe também um atalho para a exclusão para trás, forma o cursor para o primeiro espaço ao contrário?

Atualização: ctrl + w apaga para trás, mas qual atalho apaga uma palavra para frente?

    
por Adam Matan 08.04.2013 / 17:12

2 respostas

46

Eu respondi a uma pergunta semelhante aqui: link :

  

O Bash tem comandos de linha de leitura que não são vinculados por padrão. Você pode encontrar   eles na referência:    link

     

O comando que você está procurando é chamado de "shell-backward-kill-word". Você   tem que selecionar o atalho primeiro. Vamos usar o Crtl + p, já que é "anterior   comando "- igual à seta para cima.

bind '"\C-p": shell-backward-kill-word'

A única diferença é que você tem que usar o comando "shell-kill-word", já que você quer deletar o forward.

Existe também um comando "kill-word" com o atalho Meta + d (tente Esc + d se não tiver a tecla Meta). Ele excluirá apenas uma parte do caminho de uma só vez.

    
por Nykakin 10.04.2013 / 18:04
5

Testado tanto o esc + d e alt / opt + d no OSX Mavericks e eles trabalham lá também.

    
por visyoual 30.11.2015 / 17:24