Vim использует неправильный файл заклинаний? - PullRequest
1 голос
/ 29 сентября 2010

Я давно использую vim, но недавно я создал новый сервер, и когда я открыл vim, я обнаружил, что он не использует мой файл заклинаний.

Исторически vim загружал ~/.vim/spell/en.utf-8.add как файл заклинаний, но когда я попытался добавить слово в словарь, он добавил его к en.latin1.add.

ls ~/.vim/spell
en.latin1.add  en.latin1.add.spl  en.utf-8.add

Так что в качестве возможного исправления я положил set spelllang=en.utf-8 в свой vimrc. Но вместо того, чтобы пытаться использовать en.utf-8.add, он использовал en.utf-8.latin1.add. Как мне превратить эту латиницу в utf-8?

Также, как примечание, вот мои переменные окружения:

declare -x LANG="en_US.UTF-8"
declare -x LC_ADDRESS="en_US.UTF-8"
declare -x LC_ALL=""
declare -x LC_COLLATE="C"
declare -x LC_CTYPE="en_US.UTF-8"
declare -x LC_IDENTIFICATION="en_US.UTF-8"
declare -x LC_MEASUREMENT="en_US.UTF-8"
declare -x LC_MESSAGES="en_US.UTF-8"
declare -x LC_MONETARY="en_US.UTF-8"
declare -x LC_NAME="en_US.UTF-8"
declare -x LC_NUMERIC="en_US.UTF-8"
declare -x LC_PAPER="en_US.UTF-8"
declare -x LC_TELEPHONE="en_US.UTF-8"
declare -x LC_TIME="en_US.UTF-8"

1 Ответ

2 голосов
/ 30 сентября 2010

Из документации (:help spell-load):

Vim searches for spell files in the "spell" subdirectory of the directories in
'runtimepath'.  The name is: LL.EEE.spl, where:
    LL  the language name
    EEE the value of 'encoding'
...
...
...
Exceptions:
- Vim uses "latin1" when 'encoding' is "iso-8859-15".  The euro sign doesn't
  matter for spelling.

Несмотря на то, что все переменные окружения перечислены в UTF-8, похоже, что Vim's encoding имеет значение "latin1 "или" iso-8859-15 ".Возможно, вы можете установить кодировку Vim вручную, запустив :set encoding=utf-8.

...