readline não liga ao Ctrl - W porque é tratado pelo driver do terminal por padrão:
$ stty -a
(...) werase = ^W; (...)
Para desabilitar isso, você precisa executar (em ~/.bashrc ):
stty werase undef
bind '"\C-w": backward-kill-word'
.inputrc não ajudará aqui, pois ele é lido quando Ctrl - W ainda está atribuído a werase .
Observe também que \C-w format keyseqs deve ser colocado entre aspas duplas, como acima.
Terminais diferentes podem lidar com Alt - Backspace de forma diferente.
- PuTTY e Terminal GNOME (com configurações padrão) envia
1b 7f(ESC DEL) - Xterm com
metaSendsEscape: trueenvia1b 08(ESC BS). - Xterm sem
metaSendsEscapeenvia88(HTSouBScom o maior conjunto de bits).
O Xterm tem algumas configurações para controlar o comportamento da tecla Alt (chamada Meta no Xterm e no X11 em geral). Com metaSendsEscape , manter Alt prefixará o pressionamento de tecla com ESC (hex 1b ). Sem a configuração (modo padrão), Alt define o bit mais alto do caractere de entrada, resultando em caracteres especiais. (Por exemplo, Alt - N resulta em ESC n e î , respectivamente.)
Tanto quanto me lembro, o Terminal.app também tem uma configuração semelhante para controlar o comportamento do uso de Meta / Alt / qualquer-Mac.
