Saya ingin mengetik dalam berbagai bahasa menggunakan (g) Vim. Tetapi ketika saya beralih ke bahasa lain menggunakan bilah bahasa (karakter Devanagari atau Hindi), dan ketik apa saja, (g) tampilan vim ??? ??
.
Apa yang saya coba:
write ++enc=utf-8 foo.txt
set fileencoding=utf-8
set enc=utf-8
Informasi:
- Versi GVim: 7.4, dan juga + multi_byte-nya.
- Tidak ada perubahan dalam file vimrc default.
Saya baru saja mulai dengan (g) vim.
microsoft-windows
unicode
msinfo
sumber
sumber
Jawaban:
Pengkodean standar tampaknya adalah
latin1
:Saat memasukkan karakter, Vim mencoba mengubahnya dari set karakter yang masuk (mungkin unicode) ke latin-1. Ini gagal karena latin-1 tidak memiliki karakter ini. Karena itu tanda tanya.
Membuka file yang ada (Disimpan dengan notepad atau program lain) akan menghasilkan teks yang kacau karena sekarang Vim hanya mencoba membaca byte dan menafsirkannya sesuai dengan set karakter latin-1, dan tidak mengubahnya ke set latin-1.
Anda akan ingin menggunakan
utf-8
atau semacamnya:Setelah itu aksara Malayalam tampaknya berfungsi.
Perhatikan bahwa ini tidak akan membuat tanda tanya yang sudah ada berfungsi. Ini benar-benar adalah dikonversi ke tanda tanya (karakter
0x3f
) pada input. Tidak ada cara untuk mendapatkan kembali apa yang dimasukkan. Saya menduga bahwa ini adalah sumber kebingungan dari pertanyaan ini.Lihat juga
:help 'encoding'
.Sebagai sidenote, mesin terbang yang tidak didukung dalam font biasanya diterjemahkan dengan mesin terbang yang berbeda; ini bervariasi per font, tetapi biasanya berupa blok persegi atau tanda tanya gaya yang berbeda. Anda dapat melihat perbedaan antara tanda tanya "nyata" dan mesin terbang yang tidak didukung
g8
, yang akan menampilkan kode karakter.sumber