Bagaimana membiarkan vim listchar bekerja di lingkungan yang tidak utf8?


8

.Vimrc saya mengandung:

if $LANG =~ '\(UTF\|utf\)-\?8' || $LC_CTYPE =~ '\(UTF\|utf\)-\?8'
  set list listchars=tab:»·,trail:~,extends:>,precedes:<
endif

Tapi ada beberapa karakter yang unicode, ketika saya menjalankan vim di bawah LC_CTYPE = lingkungan zh_TW.Big5, itu akan menunjukkan

Error detected while processing /home/user/.vimrc:
  line   70:
E474: Invalid argument: listchars=tab:»·,trail:~,extends:>,precedes:<

Jawaban:


5

Tambahkan baris berikut ke vimrc Anda, sebaiknya di dekat awal:

scriptencoding utf-8

Itu akan memberitahu vim untuk membaca file sebagai UTF8 bahkan jika Anda menggunakan sistem non-UTF. Kemudian akan mentranskode karakter apa pun dari itu ke dalam pengkodean Anda saat ini. Jika karakter yang Anda gunakan dalam opsi listchars ada penyandian lain yang Anda gunakan, Anda bahkan tidak perlu memiliki persyaratan tentang itu.


Metode ini berfungsi pada vim, tetapi, saya menemukan gvim masih menunjukkan pesan kesalahan itu.
Daniel YC Lin

1
Apakah Anda memiliki .gvimrcfile yang juga berisi karakter unicode? Jika demikian, menambahkan baris yang sama ke file itu harus memperbaiki masalah di sana juga. Perintah itu hanya berlaku untuk file di mana ia ditemukan, jadi perlu dimasukkan dalam file konfigurasi vim mana pengkodean karakter penting.
qqx

Saya menemukan masalah yang disebabkan oleh gvimrc saya dan memperbaikinya.
Daniel YC Lin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.