Quiero escribir en diferentes idiomas usando (g) Vim. Pero cuando cambio a otro idioma usando la barra de idioma (caracteres Devanagari o Hindi) y escribo cualquier cosa, aparece (g) vim ??? ??
.
Lo que probé:
write ++enc=utf-8 foo.txt
set fileencoding=utf-8
set enc=utf-8
Información:
- Versión de GVim: 7.4, y también su + multi_byte.
- No hay cambios en el archivo vimrc predeterminado.
Acabo de comenzar con (g) vim.
microsoft-windows
unicode
msinfo
fuente
fuente
Respuestas:
La codificación predeterminada parece ser
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í: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.fuente