Qual è la differenza tra questi due comandi?
set encoding=utf-8
set fileencoding=utf-8
Devo impostare entrambi quando voglio usare utf-8?
Inoltre, devo impostare la codifica dei file con set
o setglobal
?
Qual è la differenza tra questi due comandi?
set encoding=utf-8
set fileencoding=utf-8
Devo impostare entrambi quando voglio usare utf-8?
Inoltre, devo impostare la codifica dei file con set
o setglobal
?
Risposte:
Nel primo caso con
set encoding=utf-8
, cambierai la codifica di output mostrata nel terminale.Nel secondo caso con
set fileencoding=utf-8
, cambierai la codifica di output del file che viene scritto .
Come affermato da @Dennis, puoi impostarli entrambi nel tuo ~ / .vimrc se vuoi sempre lavorare utf-8
.
Dal wiki di VIM su come lavorare con unicode
" encoding
imposta il modo in cui vim deve rappresentare i caratteri internamente . Utf-8 è necessario per la maggior parte delle versioni di Unicode."
" fileencoding
imposta la codifica per un particolare file (da locale a buffer);: setglobal imposta il valore predefinito. Può essere utilizzato anche un valore vuoto: il valore predefinito è uguale a" codifica ". Oppure potresti voler impostare una delle codifiche ucs, Potrebbe rendere lo stesso file su disco più grande o più piccolo a seconda del tuo particolare mix di caratteri. Inoltre, IIUC, utf-8 è sempre big-endian (prima bit alto) mentre ucs può essere big-endian o little-endian, quindi se tu usalo, probabilmente dovrai impostare "bomb" (vedi sotto). "
vim -c "set encoding=utf-8" file.ext
.
Puoi impostare la variabile 'fileencodings' nel tuo .vimrc.
Questo è un elenco di codifiche di caratteri considerate quando si inizia a modificare un file esistente. Quando un file viene letto, Vim cerca di usare la prima codifica dei caratteri menzionata. Se viene rilevato un errore, viene provato il successivo nell'elenco. Quando viene trovata una codifica che funziona, viene impostato "fileencoding". Se tutti falliscono, "fileencoding" viene impostato su una stringa vuota, il che significa che viene utilizzato il valore di "encoding".
Vedere :help filencodings
Se lavori spesso con ad esempio cp1252, puoi aggiungerlo lì:
set fileencodings=ucs-bom,utf-8,cp1252,default,latin9