ventana txt simbolos salen sale saber reparar documento desconfigurado dañado convertir conversion con como codificacion archivo abrir vim

vim - txt - ¿Es posible configurar automáticamente la codificación de archivos UTF16 al abrir un archivo de ese tipo?



documento word desconfigurado (3)

¿Tienes una marca de orden de bytes? Vim debería detectar esto y trabajar adecuadamente. Del doc. - sección 45.4 :

Cuando comienza a editar ese archivo Unicode de 16 bits y tiene una lista de materiales, Vim lo detectará y lo convertirá a utf-8 cuando lo lea. La opción ''codificación de archivo'' (sin s al final) se establece en el valor detectado. En este caso es "utf-16le". Eso significa que es Unicode, de 16 bits y little-endian. Este formato de archivo es común en MS-Windows (por ejemplo, para archivos de registro).

Edito todo tipo de archivos con Vim (como estoy seguro que la mayoría de los usuarios de Vim lo hacen). Un error que tengo es lo que hace Vim cuando me encuentro con un archivo con una codificación impar. La mayoría de los editores (en estos días) hacen un buen intento de detectar codificaciones de archivos. Sin embargo, Vim generalmente no lo hace. Y tienes que escribir, por ejemplo:

:e ++enc=utf-16le

Para volver a leer el archivo en UTF-16 (de lo contrario, obtendrá una masa de signos @)

He estado buscando y he visto scripts como set_utf8.vim que pueden detectar una codificación de archivo específica. Sin embargo, ¿hay alguna solución más general? Estoy un poco aburrido de tener que averiguar manualmente qué es la codificación del archivo y consultar la ayuda cada vez que abro un archivo inusual.


Agregar el nombre de codificación a ''fileencodings'' debería hacer el truco:

:set fencs=ucs-bom,utf-16le,utf-8,default,latin1

Alternativamente, hay complementos como AutoFenc y fencview .


Agregue este código a su .vimrc :

if has("multi_byte") if &termencoding == "" let &termencoding = &encoding endif set encoding=utf-8 setglobal fileencoding=utf-8 "setglobal bomb set fileencodings=ucs-bom,utf-8,latin1 endif