我的 .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 系统。然后,它会将任何字符从 UTF8 转码为当前编码。如果您在 listchars 选项中使用的字符与您使用的其他编码相同,则您甚至不需要为此设置条件。