如何在vim中设置UI语言?


102

我在reddit上看到了这一点,它让我想起了我的vim抓手之一:它以德语显示UI 。该死的,vim!我想要英语,但是因为我的操作系统是德语设置的(我们办公室的标准),所以我认为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)

在我这边,启动gVim时,language en总是给我一个错误。我用的是C语言,它就像一个魅力!
ghigad

Answers:


34

正如Ken所述,您需要:language命令

请注意,将其放入您的菜单.vimrc.gvimrc将对gvim的菜单无济于事,因为它们的定义在启动时就被加载一次,非常早,以后就不再重读。因此,您确实确实需要在您的环境中或在非Unixoid系统(例如Windows)上进行设置LC_ALL(或更具体地LC_MESSAGES讲),您可以传递--cmd开关(该开关首先执行给定命令,而不是该-c选项):

gvim --cmd "lang en_US"

如前所述,您无需使用LC_ALL,它将强制切换计算环境的各个方面。您可以做更多细微的事情。例如,我自己的语言环境设置如下所示:

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

这意味着我得到的语言系统基本上是英语,但字母具有德语语义,但默认的排序顺序是ASCIIbetical(即,按代码点排序,而不是根据语言约定进行排序)。您可以使用其他变体。看到man 7 locale更多。


1
我将不得不对此进行更多检查-它目前无法正常运行,但只能在下周三访问有问题的计算机。谢谢您的回复。
达伦·托马斯

不适用于我(vim抱怨找不到en_US ?!),但是@ August-Lilleaas解决方案起作用了!
Stefano

17
在Windows 7上,我不得不使用gvim --cmd "lang English_United States"
hfs

2
您也可以添加language messages envimrc(注意:它应该在最开始)。
2013年

4
@hfs非常感谢您的评论。我已经添加了language English_United States我的_vimrc文件,并将其VIM 7.4和Windows 8下帮助我
阿尔乔姆

98

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


14
我更改为lang_ori以防以后需要。

1
\usr\share\vim\vim80\lang适用于Windows上的MinGWCygwin用户的帮助
it3xl 2016年

@AugustLilleaas您认为删除lang文件夹安全吗?
丹尼

38

在_vimrc中尝试一下。它适用于我的win7。

set langmenu=en_US
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

同样在这里,这个工作。我认为delmenu - menu周期至关重要。
ThomasH

18

将以下代码行放在我的_vimrc文件顶部可以节省我的时间:

set langmenu=en_US.UTF-8

9
实际上,至少在我的gVim 7.2上设置了langmenu = en_US.UTF-8
Rytmis 2010年

当然就像Rytmis所说的那样,就像魅力一样,没有冒号(:)
Piotr Owsiak 2011年

注意:这将设置菜单的语言,但是消息等需要:language设置。
达伦·托马斯

请注意,您可以通过使用set langmenu=none而不是指定实际的(英语)语言来使其更容易。
拉巴尔别斯基2012年

11

这有助于更改vim的菜单语言

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

language en 

给我一个错误的提示,说无法将其设置为语言,但这行完成了工作

:let $LANG = 'en'

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

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

language messages en

在.vimrc文件中(如果在Windows中,则为_vimrc文件)


6

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

if has('unix')
    language messages C
else
    language messages en
endif

4

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

let $LANG = 'en'
set langmenu=none


3

:帮助语言

:语言fr_FR.ISO_8859-1


3

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

set langmenu=en_US
let $LANG = 'en_US'

(请注意,_vimrc在包含我的vim74目录的同一目录中,这就是vim在启动时读取的_vimrc文件)


1

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

啊,我讲得太早了。gVim的菜单仍为日文,但简介屏幕为英文。


1

Windows-两个Vim

直到我意识到自己有2个Vim,这里的一切都对我没有帮助。

  1. Git Bash通过MinGW(Cygwin,mintty)
  2. Windows上“程序文件”中的单独安装

接下来的命令将过滤大家观看的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的重击(MinGW64,Cygwin,minty)

最后,对于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'中查找不存在的文件。




0

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

防止GUI加载本地化文件

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

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

在与上述相同的文件夹中,在带下划线的文件夹前添加以您的国家(地区)代码命名的文件夹。

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

顺便说说

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.