Ok, foi uma questão do Terminal. De alguma forma, o localedef bagunçou a configuração do terminal. stty sane
corrigiu para o aplicativo Terminal. E defaults delete com.googlecode.iterm2
corrigiu para o iTerm.
A resposta de Jamie aqui Personagens estranhos no Terminal OSX me ajudaram. (Eu não posso votar porque eu dei toda a minha reputação para a generosidade).
Editar: parece estar relacionado ao fato de que as configurações do terminal em Perfis > Avançado > "Definir variáveis de ambiente de localidade na inicialização" como desmarcado.