Ho un file di testo. Mi è stato detto di renderlo UTF8. Come posso farlo con Vim?
Ho un file di testo. Mi è stato detto di renderlo UTF8. Come posso farlo con Vim?
Risposte:
Se stai modificando un file codificato come latin1, troverai che 'fileencoding' per quel buffer è impostato su latin1. Quindi sarà necessario impostare manualmente la codifica del file prima di salvare il file.
:set fileencoding=utf8
:w myfilename
Si noti inoltre che i file UTF8 spesso iniziano con un Byte Order Mark (BOM) che indica endianness. La distinta componenti è opzionale ma alcuni programmi la utilizzano esclusivamente per determinare la codifica del file. In certe condizioni Vim scriverà la BOM ma a volte no. Per impostare esplicitamente la distinta materiali, procedere come segue:
:set bomb
Per ulteriori informazioni :help mbyte-optionse :help utf8e :help bomb.
set fileencoding=utf-8nuovo in primo piano. Vim non si accorge nemmeno del BOM se gli hai detto di scriverne uno (e lo scrive effettivamente). Per far funzionare utf-8, è necessario quello o set encoding=utf-8nelle impostazioni di avvio. Almeno, questa è la storia sul mio sistema.
:w ++enc=utf-8 %
per scrivere il file nella codifica utf-8 su disco.
fileencoding, :w ++enc=utf-8è valido una volta, ma la prossima volta che si esegue verrà utilizzato :wil valore di 'fileencoding'e se non lo si è modificato (esplicitamente durante la modifica o ricaricando il file, sperando che 'fencs'è impostato in modo appropriato e la codifica effettiva è ben rilevata), la vecchia codifica tornerà.
fileencodingè anche una valida risposta alla domanda, che non secondo IMO porta ad assumere cattive abitudini. Ma OK, suppongo sia solo una questione di umore.