microsoft-windows – No puedo escribir Unicode con Gvim y VIM en Windows 7

Pregunta:

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, (g) vim muestra ??? ?? .

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.

Respuesta:

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 porque 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 resultar en 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.

utf-8 usar utf-8 o algo así:

:set encoding=utf-8

Después de lo cual la escritura malayalam parece funcionar.

Tenga en cuenta que esto no hará que los signos de interrogación preexistentes funcionen. Estos realmente se convierten en signos de interrogación (carácter 0x3f ) en la entrada. No hay forma de recuperar lo ingresado. Sospecho que esta es la fuente de confusión de esta pregunta.

Ver también :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 normalmente es un bloque cuadrado o un signo de interrogación con un estilo diferente. puede ver la diferencia entre un signo de interrogación "real" y un glifo no admitido con g8 , que mostrará el código del carácter.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım