A codificação padrão parece ser latin1
:
:set encoding?
encoding=latin1
Ao inserir caracteres, o Vim tenta convertê-los do conjunto de caracteres recebidos (provavelmente unicode) para latin-1. Isso falha, pois latin-1 não possui esses caracteres. Daí os pontos de interrogação.
A abertura de um arquivo existente (salvo com o bloco de notas ou outro programa) deve resultar em texto ilegível, pois agora o Vim está apenas tentando ler bytes e interpretá-los de acordo com o conjunto de caracteres latin-1, e não convertê-los no conjunto latin-1.
Você vai querer usar utf-8
ou algo assim:
:set encoding=utf-8
Após o qual o script malaiala parece funcionar.
Observe que isso não fará com que os pontos de interrogação pré-existentes funcionem. Eles realmente são convertidos em pontos de interrogação (caractere 0x3f
) na entrada. Não há como recuperar o que foi inserido. Suspeito que essa seja a fonte de confusão dessa questão.
Veja também :help 'encoding'
.
Como nota de rodapé, os glifos não suportados na fonte geralmente são renderizados com um glifo distinto; isso varia por fonte, mas geralmente é um bloco quadrado ou um ponto de interrogação com estilo diferente. você pode ver a diferença entre um ponto de interrogação "real" e um glifo não suportado g8
, que mostrará o código do caractere.