La codificación predeterminada parece ser latin1
:
:set encoding?
encoding=latin1
Al ingresar caracteres, Vim intenta convertirlos del conjunto de caracteres entrantes (probablemente unicode) a latin-1. Esto falla ya que latin-1 no tiene estos caracteres. De ahí los signos de interrogación.
Abrir un archivo existente (guardado con el bloc de notas o algún otro programa) debería dar como resultado un texto confuso, ya que ahora Vim solo está tratando de leer bytes e interpretarlos de acuerdo con el conjunto de caracteres latin-1, y no convertirlos al conjunto latin-1.
Usted querrá usar utf-8
o algo así:
:set encoding=utf-8
Después de lo cual el script Malayalam parece funcionar.
Tenga en cuenta que esto no hará que funcionen los signos de interrogación preexistentes. Estos realmente se convierten en signos de interrogación (carácter 0x3f
) en la entrada. No hay forma de recuperar lo que se ingresó. Sospecho que esta es la fuente de confusión de esta pregunta.
También vea :help 'encoding'
.
Como nota al margen, los glifos no admitidos en la fuente generalmente se representan con un glifo distinto; esto varía según la fuente, pero generalmente es un bloque cuadrado o un signo de interrogación de estilo diferente. puede ver la diferencia entre un signo de interrogación "real" y un glifo no compatible con g8
, que mostrará el código de caracteres.