Quando me conecto ao meu servidor Debian Wheezy Beta 4 com o PuTTY 0.62 no Windows 7, estou tendo um problema. Meu shell de login é Zsh e está configurado para lidar com ALT + DEL para a ação delete-word
(exclui uma palavra à direita do cursor). A linha na configuração é assim:
bindkey -e "\e[3;3~" kill-word
A ligação funciona bem quando conectada por meio do comando ssh
de um gnome-terminal
. Mas quando eu me conecto via PuTTY, esta ação não é executada. Em vez disso, um [3~
é colocado no console. Até onde eu vejo, esta é a sequência sem escape para a chave DEL em xterm
. Por um tempo eu pensei que o PuTTY iria simplesmente ignorar o modificador ALT e enviar somente DEL , mas se esse fosse o caso, a ação seria ligada ao DEL teria sido executado como se eu tivesse pressionado apenas essa chave.
Então eu acho que o PuTTY está usando alguma sequência para a combinação de teclas que eu não conheço e que faz com que a saída [3~
apareça na tela. Como posso descobrir qual seqüência o PuTTY envia para configurar o Zsh para lidar com isso corretamente?
Update : Parece que o PuTTY deve ignorar todos os pressionamentos de tecla do modificador ALT em sua implementação atual. Aqui está um trecho do arquivo de código-fonte TERMINAL.C
que exclui o sinalizador ALT da variável modificadores:
/*
* Alt is only used for Alt+keypad, which isn't supported yet, so
* ignore it.
*/
modifiers &= ~PKM_ALT;
Isso não me explica por que pressionar ALT + DEL não tem o mesmo efeito que pressionar . Também não explica porque a combinação de teclas padrão para a ação kill-word
em Zsh ( ALT + D ) funciona bem.