¿Cuál es la diferencia entre estos dos comandos?
set encoding=utf-8set fileencoding=utf-8
¿Necesito configurar ambos cuando quiero usar utf-8?
Además, ¿necesito configurar la codificación de archivos con seto setglobal?
¿Cuál es la diferencia entre estos dos comandos?
set encoding=utf-8 set fileencoding=utf-8¿Necesito configurar ambos cuando quiero usar utf-8?
Además, ¿necesito configurar la codificación de archivos con seto setglobal?
Respuestas:
En el primer caso con
set encoding=utf-8, cambiará la codificación de salida que se muestra en el terminal.En el segundo caso con
set fileencoding=utf-8, cambiará la codificación de salida del archivo que está escrito .
Como lo indicó @Dennis, puede configurar ambos en su ~ / .vimrc si siempre desea trabajar en utf-8.
De la wiki de VIM sobre cómo trabajar con Unicode
" encodingestablece cómo vim representará los caracteres internamente . Utf-8 es necesario para la mayoría de versiones de Unicode".
" fileencodingestablece la codificación para un archivo en particular (local a búfer);: setglobal establece el valor predeterminado. También se puede usar un valor vacío: por defecto es el mismo que 'codificación'. O puede que desee establecer una de las codificaciones ucs, Puede hacer que el mismo archivo de disco sea más grande o más pequeño dependiendo de su combinación particular de caracteres. Además, IIUC, utf-8 es siempre big-endian (el bit alto primero) mientras que ucs puede ser big-endian o little-endian, así que si úselo, probablemente necesitará configurar 'bomba' (ver más abajo) ".
vim -c "set encoding=utf-8" file.ext.
Puede establecer la variable 'codificación de archivos' en su .vimrc.
Esta es una lista de codificaciones de caracteres que se consideran al comenzar a editar un archivo existente. Cuando se lee un archivo, Vim intenta utilizar la primera codificación de caracteres mencionada. Si se detecta un error, se intenta el siguiente de la lista. Cuando se encuentra una codificación que funciona, se le asigna 'fileencoding'. Si todos fallan, 'fileencoding' se establece en una cadena vacía, lo que significa que se usa el valor de 'encoding'.
Ver :help filencodings
Si trabaja con frecuencia, por ejemplo, con cp1252, puede agregarlo allí:
set fileencodings=ucs-bom,utf-8,cp1252,default,latin9