108

我在 reddit 上看到了这个,它让我想起了我对 vim 的一个抱怨:​​它以德语显示 UI 。该死的,维姆!我想要English,但由于我的操作系统是用德语设置的(我们办公室的标准),我猜 vim 实际上是在试图提供帮助。

我必须执行什么魔法才能让 vim 切换 UI 语言?我在各种场合尝试过谷歌搜索,但似乎找不到答案(不,谷歌,你是我的朋友 *pat*,*pat*,但我已经知道如何更改语法突出显示,谢谢!) ...

编辑:使用下面所有好的提示,我最终将它添加到我的顶部.vimrc(在 Windows 7 上运行 Vim 7.2)

set langmenu=en_US.UTF-8    " sets the language of the menu (gvim)
language en                 " sets the language of the messages / ui (vim)
4

16 回答 16

99

作为参考,在 Windows (7) 中,我刚刚删除了目录C:\Program Files (x86)\Vim\vim72\lang. 这使它回退到 en_US。

于 2010-05-18T20:38:01.537 回答
38

在 _vimrc 中试试这个。它适用于我的win7。

set langmenu=en_US
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
于 2011-08-06T15:24:13.947 回答
36

正如 Ken 所说,您需要:languagecommand

请注意,将它放在您的.vimrc.gvimrc不会帮助您使用 gvim 中的菜单,因为它们的定义在启动时加载一次,很早就加载了,以后不会再重新读取。所以你确实需要在你的环境中设置LC_ALL(或更具体地说LC_MESSAGES),或者在非 Unixoid 系统(例如 Windows)上,你可以传递--cmd开关(它首先执行给定的命令,而不是-c选项):

gvim --cmd "lang en_US"

正如我所提到的,您不需要使用LC_ALL,它将强制切换计算环境的各个方面。你可以做更多微妙的事情。F.ex.,我自己的语言环境设置如下所示:

LANG=en_US.utf8
LC_CTYPE=de_DE.utf8
LC_COLLATE=C

这意味着我得到了一个主要是英语的系统,但具有德语的字母语义,除了默认的排序顺序是 ASCIIbetical(即按代码点排序,而不是根据语言约定)。您可以使用不同的变体;查看man 7 locale更多。

于 2008-09-24T14:32:20.567 回答
18

将这行代码放在我的 _vimrc 文件的顶部节省了我的时间:

set langmenu=en_US.UTF-8
于 2009-12-02T08:33:35.363 回答
11

这适用于更改 vim 的菜单语言

set langmenu=en_US.UTF-8  [or just set langmenu=en for short]

language en 

给了我一个错误,说它无法将 en 设置为一种语言,但这条线完成了这项工作

:let $LANG = 'en'

后者来自Vim 的文档。我在 _vimrc 文件的开头添加了这两行。我使用的是 Windows 7 64 计算机。

PS:此行更改语言和菜单语言

language messages en

在 .vimrc 文件中(或 _vimrc 文件,如果你在 Windows 中)

于 2012-01-07T14:31:26.737 回答
7

Ubuntu 10.10 + VIM 7.2 改进。下面的代码更改控制台 vim 的语言。将它添加到您的 vim.rc 顶部

if has('unix')
    language messages C
else
    language messages en
endif
于 2011-03-23T10:12:51.603 回答
4

:帮助语言

:语言 fr_FR.ISO_8859-1

于 2008-09-24T12:33:31.833 回答
4

.vimrc 文件开头的这两行将完成这项工作:

let $LANG = 'en'
set langmenu=none
于 2011-11-22T12:49:03.257 回答
4

在 Windows 8 中将其添加到 _vimrc 对我有用:

set langmenu=en_US
let $LANG = 'en_US'

(请注意,_vimrc 与我的 vim74 目录位于同一目录中,即 vim 在启动时读取的 _vimrc 文件)

于 2015-07-01T03:38:57.790 回答
3

使用更改的语言环境启动 vim:

LC_ALL=en_GB.utf-8 vim

或者在您的 bashrc/profile 中默认导出该变量。

于 2008-09-24T12:32:17.297 回答
3

Windows 上的两个 Vim 安装

直到我意识到我已经安装了 2 个 Vim 之前,这里的任何东西都没有帮助我。

  1. Git Bash 通过 MinGW (Cygwin, mintty)
  2. 在 Windows 上的 Program Files 中单独安装

下一个命令将过滤您所有观看的vimrc -files 及其位置。

vim --version | grep vimrc
  • _vimrc (Windows & CMD)
  • .vimrc (Git 的 Bash)
  • vimrc(两者都有不同的位置)

1:Windows 和 CMD 上的 Vim

只有重命名(删除)lang文件夹对我有帮助。

你可以在这里找到它C:\Program Files (x86)\Vim\vim80\lang

我尝试了这里列出的所有配置设置,但都没有用。

2.1:通过 MinGW、Cygwin、mintty 进行 Git Bash

对于 Git Bash,我language messages en_US在顶部添加了C:\Program Files\Git\etc\vimrc

当然,如果你喜欢删除lang文件夹,你可以在这里找到

  • C:\Program Files\Git\usr\share\vim\vim80\lang
  • C:\Users\User_name_xxx\AppData\Local\Programs\Git\usr\share\vim\vim80\lang对于本地用户安装。

2.2:仅调整 Git 的 Bash(MinGW64、Cygwin、mintty)

最后,对于 Windows 上的 Bash,我选择跳过使用vimrc的操作

我打开C:\Program Files\Git\etc\bash.bashrc 并添加了以下行

LANG='en_US'

或者

LANG=C

尽量不要使用en_US.UTF-8,因为它会强制一些 bash 命令产生奇怪的字符。例如在find 'xxx_yyy_zzz_aaa.bbbddd'一个不存在的文件中。

于 2016-12-11T18:01:38.753 回答
1

我不知道为什么以上所有答案都不适合我。我不断收到有关不存在的语言环境的错误。也许这是Windows的事情。无论如何,我的解决方案是将它添加到我的 vimrc 中: let $LANG = 'en'

啊,我说得太早了。gVim 的菜单仍然是日文的,但介绍屏幕是英文的。

于 2011-02-16T19:33:45.093 回答
1

试试把这个添加到你的 _vimrc 中:</p>

let $LANG='en_US'
于 2018-01-13T07:50:07.287 回答
0

有类似的问题,但上述解决方案都没有工作: https ://superuser.com/questions/552504/vim-ui-language-issue/552523

我已经通过删除所有 vim 数据包并从源构建 vim 来解决它。

希望它会帮助某人。

于 2013-02-15T12:48:34.520 回答
0

如果您在 Windows 上并且不想被打扰发出命令

防止 GUI 加载本地化文件

只需转到Program Files\Vim\vim80\lang并在所有看起来与您的语言环境有关的文件前面加上一个下划线作为前缀。

防止 VIM 本身加载本地化文件

在与上述相同的文件夹中,使用您的国家/地区代码命名的文件夹以下划线作为前缀。

注意:Windows 10 可能会通过发出 UAC 警告来请求管理员权限。

顺便一提

同样的技术可以应用于许多移植到 Windows 上的 Unix/Linux 工具,以及通常可以轻松访问本地化文件的所有软件包。如果您重命名它们以防止应用程序找到它们,则备用语言很可能是英语。

于 2017-03-10T11:23:20.567 回答
-1

我只是在安装 gvim 时禁用了本地语言支持(因此使其成为自定义安装)。

在 Windows 7 下使用 gvim82.exe 测试成功。

于 2020-10-15T09:07:01.823 回答