Назад | Перейти на главную страницу

Проблемы с vim / locale в качестве пользователя без полномочий root в Solaris

Я немного работаю на машине 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.