Cara melihat karakter Unicode UTF-8 di VIM

13

Saya menggunakan VIM 7.4 pada mesin Ubuntu 14.04 64 bit. Dalam file .vimrc saya, saya memiliki baris berikut:

" Use UTF-8 without BOM
set encoding=utf-8 nobomb

The configberkas pada dasarnya menggunakan karakter Unicode untuk menampilkan spasi putih seperti tab, baris baru, dll file vimrc lengkap diambil dari Paul Irlandia ini dotfiles .

Pada pemasangan sebelumnya 14,04 serta di distribusi sebelumnya, saya dapat melihat karakter unicode tanpa masalah tetapi tidak dengan yang ini.

Saya juga mencoba:

 set fileencodngs=utf-8

Tapi, pengaturan di atas tidak berpengaruh dan saya masih melihat karakter kacau di layar. Apakah ada cara untuk mengatasi ini?

Vivek Pradhan
sumber
1
Bisakah Anda memberikan tautan ke contoh file yang tampak kacau untuk Anda? Dan bisakah Anda memasukkan tangkapan layar dari apa yang Anda lihat di vim? Berapa nilai fencvariabel setelah membuka file?
Mike Miller

Jawaban:

16

Jika lokal Anda saat ini dalam pengkodean utf-8 , Vim akan secara otomatis memulai dalam mode utf-8.

Jika Anda menggunakan lokal lain, atur di bawah di ~/.vimrcfile pengguna Anda :

set encoding=utf-8

Anda mungkin juga ingin memilih font yang digunakan untuk menu . Sayangnya ini tidak selalu berhasil.

Anda juga memiliki opsi ini untuk memaksa pengodean :set fileencodings=utf-8. Anda dapat menemukan dokumentasinya di sini

solusi lain adalah: Dalam mode insert, tekan Ctrl- R ="\xe2\x82\xa9" Enteruntuk langsung memasukkan karakter UTF-8 menggunakan Encoding Hex mereka.

yang \xe2\x82\xa9merupakan Hex Encoding dari (simbol mata uang Korea Utara) karakter.

ref: Dokumentasi Vim

Catatan: Jika Anda melakukan konfigurasi di atas tetapi masih tidak dapat melihat atau mengetik karakter Unicode dengan baik, periksa di Terminal atau konfigurasi Konsol Anda jika Character encodingdiatur ke UTF-8.

Baca juga Karakter khusus di Vim .

αғsнιη
sumber
1
Ini juga memecahkan masalah tidak bisa memasukkan karakter Cina untuk saya.
Zelphir Kaltstahl
Bisakah seseorang memperluas apa yang C-R ="\xe2\x82\xa9" <enter>dilakukannya?
user1717828
@ ussr1717828 itu adalah bentuk pengkodean UTF-8 (simbol mata uang untuk Korea Utara) dan yang memungkinkan pengguna langsung mengetik literal dengan menggunakan pengkodean UTF-8 Hex dengan Ctrl+R="..."- Enter.
αғsнιη