8

Мой .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 ответ1

5

Добавьте следующую строку в ваш vimrc, желательно в начале:

scriptencoding utf-8

Это скажет vim прочитать файл как UTF8, даже если вы работаете не в UTF-системе. Затем он перекодирует любые символы из этого в вашу текущую кодировку. Если символы, которые вы используете в параметре listchars, существуют в других используемых вами кодировках, вам даже не нужно иметь условных обозначений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .