Windows 中的 gVim utf-8

Windows 中的 gVim utf-8

当我打开 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 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

为了使 ÅÄÖ åäö 在 vi​​m 中工作,您需要将您的终端客户端(如 PUTTY)设置为使用 UTF-8。

这与 vim 或 .vimrc 无关

相关内容