Faz todo o sentido agora ...
Havia uma linha perdida na .profile
minha empresa usa, pois muitas pessoas ainda usam ksh
:
set -o vi
Bem, adivinhe o que acontece em vi
se você digitar ~
? Isso mesmo, troca o caso! E adivinhe o que acontece se você digitar 3~
? Troca o case de 3 caracteres! (Embora eu ainda não tenha certeza agora para explicar o comportamento inconsistente onde às vezes ele troca um e às vezes troca 3 ...)
De qualquer forma, remover o set -o vi
do meu .profile resolveu o problema.