Vim listchar'ın utf8 ortamında çalışmamasına nasıl izin verilir?


8

Benim .vimrc içerir:

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

Ancak unicode olan bazı karakterler var, LC_CTYPE = zh_TW.Big5 ortamında vim çalıştırdığımda, gösterilecek

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

Yanıtlar:


5

Aşağıdaki satırı vimrc'nize ekleyin, tercihen başlangıcına yakın:

scriptencoding utf-8

Bu, UTF olmayan bir sistemde olsanız bile, vim'e dosyayı UTF8 olarak okumasını söyleyecektir. Daha sonra ondan herhangi bir karakteri geçerli kodlamaya dönüştürür. Listchars seçeneğinde kullandığınız karakterler varsa, kullandığınız diğer kodlamalar da bu koşullara sahip olmalıdır.


Bu yöntem vim üzerinde çalışır, ancak gvim'in hala bu hata mesajını gösterdiğini gördüm.
Daniel YC Lin

.gvimrcUnicode karakterler içeren bir dosyanız var mı? Öyleyse, aynı satırı bu dosyaya eklemek sorunu orada da çözmelidir. Bu komut yalnızca bulunduğu dosyaya uygulanır, bu nedenle karakter kodlamanın önemli olduğu herhangi bir vim yapılandırma dosyasına dahil edilmesi gerekir.
qqx

GvimRC'imin neden olduğu sorunu buldum ve düzelttim.
Daniel YC Lin,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.