Como deixar o vim listchar funcionar sob o ambiente não utf8?

8

Meu .vimrc contém:

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

Mas há alguns chars que são unicode, quando eu executo o vim no ambiente LC_CTYPE = zh_TW.Big5, ele mostrará

Error detected while processing /home/user/.vimrc:
  line   70:
E474: Invalid argument: listchars=tab:»·,trail:~,extends:>,precedes:<
    
por Daniel YC Lin 25.02.2013 / 04:25

1 resposta

5

Adicione a seguinte linha ao seu vimrc, de preferência perto do começo:

scriptencoding utf-8

Isso vai dizer ao vim para ler o arquivo como UTF8, mesmo se você estiver em um sistema não-UTF. Em seguida, ele irá transcodificar quaisquer caracteres em sua codificação atual. Se os caracteres que você está usando na opção listchars existirem as outras codificações que você usa, você não precisa nem ter o condicional em torno disso.

    
por 25.02.2013 / 04:56

Tags