2012-02-16 55 views
75

Tengo un archivo de texto. Me han dicho que sea UTF8. ¿Cómo puedo hacer eso con Vim?¿Cómo puedo usar vim para convertir mi archivo a utf8?

+0

posible duplicado de [opciones de codificación de Vim] (http://stackoverflow.com/questions/8121609/vims-encoding-options) – Benoit

+0

posible duplicado de [¿Cómo puedo cambiar la codificación de un archivo con vim?] (Http://stackoverflow.com/questions/778069/how-can-i-change-a-files-encoding-with-vim) – Tonin

Respuesta

111

Si está editando un archivo codificado como latin1, encontrará que 'fileencoding' para ese buffer está establecido en latin1. Por lo tanto, deberá configurar manualmente el archivo de codificación antes de guardar el archivo.

:set fileencoding=utf8 
:w myfilename 

También tenga en cuenta que los archivos UTF8 a menudo comienzan con una marca de orden de bytes (BOM) que indica endianness. El BOM es opcional, pero algunos programas lo usan exclusivamente para determinar la codificación del archivo. Bajo ciertas condiciones, Vim escribirá la lista de materiales, pero a veces no lo hará. Para establecer explícitamente la lista de materiales hacer esto:

:set bomb 

Para obtener más información :help mbyte-options y :help utf8 y :help bomb.

+7

Alguien nos preparó la bomba. – pfrenssen

28
:w ++enc=utf-8 % 

para escribir el archivo en la codificación utf-8 en el disco.

+0

Intenté esto y funciona. ¡Gracias! –

+3

Aunque esto es correcto, su respuesta no debería haber recogido tantos votaciones comparadas con las de Eric Johnson. La razón es que si no configura 'fileencoding',': w ++ enc = utf-8' es válido una vez, pero la próxima vez que ejecute ': w', el valor de' 'fileencoding'' ser utilizado, y si no lo ha cambiado (explícitamente mientras editaba, o volviendo a cargar el archivo, esperando que '' fencs'' se establezca apropiadamente y la codificación real esté bien detectada), la codificación anterior volverá. – Benoit

+0

@Benoit, no cambio 'fileencoding', porque estoy respondiendo la pregunta, no solo contando todo lo que sé sobre codificaciones y cómo funciona vim con ellas. Puede tomar un tiempo. –

Cuestiones relacionadas