
Мой .vimrc содержит:
if $LANG =~ '\(UTF\|utf\)-\?8' || $LC_CTYPE =~ '\(UTF\|utf\)-\?8'
set list listchars=tab:»·,trail:~,extends:>,precedes:<
endif
Но есть некоторые символы, которые являются символами Unicode, когда я запускаю vim в среде LC_CTYPE=zh_TW.Big5, он покажет
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, существуют в других кодировках, которые вы используете, вам даже не нужно иметь условное выражение вокруг этого.