2009-07-23 14 views
37

Estoy usando :set fileencoding=utf-8 y el archivo se guarda correctamente, pero la próxima vez que lo abra, obtengo caracteres ilegibles y :set fileencoding? dice que la opción no está configurada.Cómo establecer la codificación de caracteres para un archivo en VIM

De los documentos entiendo que no debo tocar la opción encoding.

¿Cuál es la forma correcta de especificar una codificación para un archivo en VIM?

Respuesta

39

Uso

set fileencodings=utf-8 

(con una s al final) que puede contener una lista de diferentes codificaciones. Vim probará las codificaciones enumeradas, de izquierda a derecha, hasta que funcione y configurará fileencoding a esa codificación. Si ninguno funciona, fileencoding se establece en una cadena vacía que dará como resultado el comportamiento predeterminado.

También probablemente tendría sentido agregar eso a su vimrc por lo que no está constantemente haciendo eso.

10

Usted puede poner dicha Directiva en un comentario en el archivo:

# vim: set fileencoding=<encoding name> : 
+0

Niza, es esto similar a la "- * -" -Sintaxis? –

+0

@Jonas: me temo que no sé nada de eso. – RichieHindle

+1

Creo que la sintaxis "- * -" es para Emacs? –

20

Debe establecer fileencodings a las diferentes codificaciones vim debe tratar al abrir un archivo, por ejemplo:

set fileencodings=ucs-bom,utf-8,latin1 

De :help fileencodings:

Esta es una lista de codificaciones de caracteres consi dered cuando se comienza a editar un archivo existente. Cuando se lee un archivo, Vim intenta usar la primera codificación de caracteres mencionada . Si se detecta un error, se intenta el siguiente en la lista. Cuando se encuentra una codificación que funciona, se establece fileencoding.

Es mejor que establezca estas configuraciones en su archivo .vimrc para que no tenga que ingresarlas manualmente cada vez que inicie vim.

9

Si vim no muestra su archivo correctamente cuando se abre especificar la codificación con : Conjunto de codificación UTF-8 =

2

leí muchas hilo sobre VIM codificación. Creo que el truco más importante es: Antes de abrir el archivo, primero debe abrir VIM y luego usar el comando: editar ++ enc = nombre de archivo.ext Puede manejar la mayoría de las preguntas sobre codificación y codificación de archivos.

los puntos clave incluyen:

  1. Debe mostrar el juego de caracteres correctamente! sin visualización correcta, cualquier otra operación puede causar problemas irrecuperables.
  2. después de que el archivo se muestra correctamente, si es necesario, se puede ": conjunto fileEncoding = UTF-8"
    : escribir" que vamos VIM siempre se puede mostrar correctamente.

Porque no soy un usuario de la lengua materna en inglés, creo que mi manera puede validarse.

+0

Puede volver a cargar un archivo que ya ha abierto usando : e ++ enc = (vea http://vim.wikia.com/wiki/Reloading_a_file_using_a_different_encoding). No es necesario iniciar vim primero sin abrir el archivo. – akame

3

prueba:

vim ~/.vimrc

complemento: fileencodings

set = UTF-8

conjunto encoding = UTF-8

Guardar y cerca.

Salir y entrar

Cuestiones relacionadas