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.
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