我一直在使用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
。如何将latin1变成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"
答案 0 :(得分:2)
从文档(: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的encoding
设置为“latin1”或“iso-8859-15”。也许您可以通过运行:set encoding=utf-8
手动设置Vim的编码。