I do some work on a Solaris 10 machine, and my .vimrc is set up to show unicode characters for tabs and line endings:

set listchars=tab:▸\ ,eol:¬

This works out of the box on my OS X machine. On Linux as well as Solaris I get the following error when I start vim:

Error detected while processing /home/lhanson/.vimrc:
line   17:
E474: Invalid argument: listchars=tab:?~V?\ ,eol:¬

I solved this on my Linux box by setting LANG=en_US.utf8 ('locale -a' shows this as being an option).

On Solaris, however, 'locale -a' shows the following:


Setting LANG to C or POSIX yields the same error, and even though iso_8859_1 probably wouldn't work it doesn't successfully change the locale anyway.

As a non-root user, is there any way I can have my unicode characters show up?


I managed to resolve my issue without touching the locales installed on the machine.

My "set listchars..." line came before another section of my .vimrc where I set up unicode options. Specifically:

if has("multi_byte")
  if &termencoding == ""
    let &termencoding = &encoding
  set encoding=utf-8
  setglobal fileencoding=utf-8 bomb
  set fileencodings=ucs-bom,utf-8,latin1

That example (and more useful info) can be seen here: Working with Unicode.

By removing the section that set termencoding and moving my "set listchars" line below "set encoding=utf-8", I'm now able to see my unicode listchars.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.