¿Cómo permitir que vim listchar funcione en un entorno que no sea utf8?

¿Cómo permitir que vim listchar funcione en un entorno que no sea utf8?

Mi .vimrc contiene:

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

Pero hay algunos caracteres que son Unicode. Cuando ejecuto vim en el entorno LC_CTYPE=zh_TW.Big5, se mostrará

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

Respuesta1

Agregue la siguiente línea a su vimrc, preferiblemente cerca del principio:

scriptencoding utf-8

Eso le indicará a vim que lea el archivo como UTF8 incluso si está en un sistema que no es UTF. Luego transcodificará cualquier carácter a su codificación actual. Si los caracteres que estás usando en la opción listchars existen, las otras codificaciones que usas ni siquiera deberías necesitar tener el condicional alrededor de eso.

información relacionada