Saya memiliki file teks. Saya telah diberitahu untuk membuatnya UTF8. Bagaimana saya bisa melakukan itu dengan Vim?
Saya memiliki file teks. Saya telah diberitahu untuk membuatnya UTF8. Bagaimana saya bisa melakukan itu dengan Vim?
Jawaban:
Jika Anda mengedit file yang dikodekan sebagai latin1, Anda akan menemukan bahwa 'pengkodean file' untuk buffer itu disetel ke latin1. Jadi, Anda perlu mengatur pengkodean file secara manual sebelum menyimpan file.
:set fileencoding=utf8
:w myfilename
Perhatikan juga bahwa file UTF8 sering dimulai dengan Byte Order Mark (BOM) yang menunjukkan endianness. The BOM adalah opsional, tetapi beberapa program menggunakannya secara eksklusif untuk menentukan encoding file yang. Dalam kondisi tertentu Vim akan menulis BOM tetapi terkadang tidak. Untuk mengatur BOM secara eksplisit, lakukan ini:
:set bomb
Untuk informasi lebih lanjut :help mbyte-options
dan :help utf8
dan :help bomb
.
set fileencoding=utf-8
lagi di depan. Vim bahkan tidak memperhatikan BOM jika Anda menyuruhnya menulis satu (dan memang menulisnya). Agar utf-8 berfungsi, Anda memerlukannya atau set encoding=utf-8
di pengaturan startup Anda. Setidaknya, itulah cerita di sistem saya.
:w ++enc=utf-8 %
untuk menulis file dalam pengkodean utf-8 ke disk.
fileencoding
, :w ++enc=utf-8
valid satu kali, tetapi lain kali Anda menjalankan :w
, nilai dari 'fileencoding'
akan digunakan, dan jika Anda belum mengubahnya (secara eksplisit saat mengedit, atau dengan memuat ulang file, berharap yang 'fencs'
disetel dengan tepat dan pengkodean aktual terdeteksi dengan baik), pengkodean lama akan kembali.
fileencoding
juga merupakan jawaban yang valid untuk pertanyaan, yang tidak menyebabkan IMO mengambil kebiasaan buruk. Tapi oke, itu hanya masalah suasana hati, kurasa.