当我打开 gVim 时,它被本地化为瑞典语,这很好。但其中包含瑞典语字符的警告/错误消息无法正确显示。例如,当尝试删除包含未保存更改的缓冲区时,我收到此信息:
E89: Ingen skrivning sedan senaste <e4>ndring f<f6>r buffert 1 (l<e4>gg till ! f<f6>r att tvinga)
大致可以理解为
E89: No write since last edit for buffer 1 (append ! to force)
我想要的是这个:
E89: Ingen skrivning sedan senaste ändring för buffert 1 (lägg till ! för att tvinga)
以下是一些相关的设置:
> :language
Aktuellt spr<e5>k: "LC_COLLATE=Swedish_Sweden.1252;LC_CTYPE=C;LC_MONETARY=Swedish_Sweden.1252;LC_NUMERIC=C;LC_TIME=Swedish_Sweden.1252"
> :lang mes
Aktuellt message spr<e5>k: "SV"
> :set enc
encoding=utf-8
如何让 vim 显示正确的字符 (å、ä、ö) 而不是、、<e5>
代码?<e4>
<f6>
编辑::language sv_SE.UTF-8"
我尝试E197: Can not set the language to "sv_SE.UTF-8
编辑2:我努力了:
:language Swedish_Sweden.10646
:language sv_SV.UTF-8
:language en
:language en_EN.UTF-8
所有都具有相同的 E197 错误消息。
答案1
我解决了。vim 网页上确实有提示。http://www.vim.org/download.php#pc
我必须从sourceforge 上的 gettext 项目:
- libiconv-1.9.1.bin.woe32.zip(针对 iconv.dll)
- gettext-运行时-0.13.1.bin.woe32.zip(针对 intl.dll)
将 libiconv zip 中的 bin/iconv.dll 和 gettext zip 中的 bin/intl.dll 提取到 gVim/vim 文件夹中。将 intl.dll 重命名为 libintl.dll。覆盖所有现有文件。
之后它就正常工作了。这些是我的 _vimrc 中的相关行:
if has('gui_running')
set guifont=Courier_New:h10
endif
set encoding=utf-8
它们位于 _vimrc 的顶部。
答案2
如果我执行“ :lang sv_SE.UTF-8
”,则消息将正确显示,但这是在 Linux 下,我不确定这是否可以在 Windows 下工作。
答案3
为了使 ÅÄÖ åäö 在 vim 中工作,您需要将您的终端客户端(如 PUTTY)设置为使用 UTF-8。
这与 vim 或 .vimrc 无关