Respostas:
Os comandos mais comumente usados no modo bash emacs padrão , para teclados mais comuns:
Há também unix-filename-rubout
para Readline
!
# in ~/.inputrc
# press ctrl-b to delete unix filename parts
# see: man bash | less -p 'unix-filename-rubout' and
# http://www.calmar.ws/vim/vi-bash.html
set editing-mode vi
set keymap vi
"\C-b": unix-filename-rubout
unix-filename-rubout
é a resposta correta para a pergunta feita, uma vez que exclui a reduzir ou espaços em branco, enquanto Alt-BkSpc
vai parar em personagens como hífen, sublinhado, ponto, etc.
Por padrão, o bash (e acho que o zsh) estará no modo emacs. Você pode tentar algo como isto:
Esc + bcolocará o cursor de volta uma palavra. Ctrl + kserá excluído até o final da linha.
A maioria dos shells modernos (como o bash) implementará recursos avançados de edição de linha de comando. Esses comandos estão próximos da edição do emacs (Ctrl + A para o início da linha, Ctrl + E para o final da linha, ...).
Se você é familiar com editores do tipo vi, pode tentar permitir o modo vi.
set -o vi
Ele fornece os modos do tipo shell vi (modo de comando / modo de inserção) e você obtém acesso aos comandos padrão (d para excluir, r para substituir, ...)
No modo Vi, veja como você faria o que descreveu:
Esc (command mode); d; b.
db
nesse cenário no bash. Eu também encontrei vi-backward-kill-word
no zsh o que eu quero, e é mais conveniente do que definir o modo vi no bash. Mas ainda quero encontrar um atalho do modo emacs para esse fim no bash.
db
ocorre em alguns casos.
bindkey [key] vi-backward-kill-word