如何讓vim listchar在非utf8環境下運作?

如何讓vim listchar在非utf8環境下運作?

我的 .vimrc 包含:

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

但是有一些字元是unicode的,當我在LC_CTYPE=zh_TW.Big5環境下運行vim時,它會顯示

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

答案1

將以下行新增到您的 vimrc 中,最好在開頭附近:

scriptencoding utf-8

這將告訴 vim 將檔案讀取為 UTF8,即使您使用的是非 UTF 系統。然後它會將其中的任何字元轉碼為您當前的編碼。如果您在 listchars 選項中使用的字元存在於您使用的其他編碼中,您甚至不需要有條件。

相關內容