utf8이 아닌 환경에서 vim listchar가 작동하도록 하는 방법은 무엇입니까?

utf8이 아닌 환경에서 vim listchar가 작동하도록 하는 방법은 무엇입니까?

내 .vimrc에는 다음이 포함됩니다.

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

하지만 유니코드인 일부 문자가 있습니다. 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

그러면 UTF가 아닌 시스템을 사용하더라도 vim이 파일을 UTF8로 읽도록 지시합니다. 그런 다음 해당 문자의 모든 문자를 현재 인코딩으로 트랜스코딩합니다. listchars 옵션에서 사용하는 문자가 사용하는 다른 인코딩에 존재하는 경우 해당 문자에 대한 조건을 적용할 필요조차 없습니다.

관련 정보