Я немного работаю на машине Solaris 10, и мой .vimrc настроен для отображения символов Юникода для вкладок и окончаний строк:
set listchars=tab:▸\ ,eol:¬
Это работает "из коробки" на моем компьютере с OS X. В Linux, как и в Solaris, я получаю следующую ошибку при запуске vim:
Error detected while processing /home/lhanson/.vimrc:
line 17:
E474: Invalid argument: listchars=tab:?~V?\ ,eol:¬
Я решил эту проблему на своем Linux-компьютере, установив LANG = en_US.utf8 ('locale -a' показывает это как вариант).
Однако в Solaris locale -a показывает следующее:
C
POSIX
iso_8859_1
Установка LANG на C или POSIX приводит к той же ошибке, и хотя iso_8859_1, вероятно, не сработает, он все равно не изменит локаль.
Могу ли я, как пользователь без полномочий root, отображать свои символы Юникода?
Мне удалось решить мою проблему, не касаясь языковых стандартов, установленных на машине.
Моя строка «set listchars ...» предшествовала другому разделу моего .vimrc, в котором я настраивал параметры Unicode. В частности:
if has("multi_byte")
if &termencoding == ""
let &termencoding = &encoding
endif
set encoding=utf-8
setglobal fileencoding=utf-8 bomb
set fileencodings=ucs-bom,utf-8,latin1
endif
Этот пример (и более полезную информацию) можно увидеть здесь: Работа с Unicode.
Удалив раздел, устанавливающий termencoding, и переместив строку «set listchars» ниже «set encoding = utf-8», я теперь могу видеть свои списки Unicode.