如何在vim中设置UI语言?

我在reddit上看到了这个 ,它让我想起了我的一个vim抱怨:它以德语显示了UI。 该死的你,VIM! 我想要英语 ,但是因为我的操作系统是用德语(我们办公室的标准)来build立的,所以我想vim实际上是在帮助你。

我必须执行什么魔法咒语才能让vim切换UI语言? 我曾尝试在各种场合使用Googlesearch,但似乎无法find答案(不,谷歌,你是我的朋友*拍*,*拍*,但我已经知道如何改变语法高亮,谢谢! …

编辑:使用下面的所有好的技巧,我结束了将这添加到我的.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) 

正如Ken所说,你需要:language命令

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

 gvim --cmd "lang en_US" 

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

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

这意味着我得到一个很大程度上英语系统,但与德文字母的语义,除了默认sorting顺序是ASCIIbetical(即sorting码位,而不是根据语言约定)。 你可以使用不同的变化; 请参阅man 7 locale

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

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

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

把这行代码放在我的_vimrc文件的顶部,保存了我的一天:

 set langmenu=en_US.UTF-8 

这有助于改变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文件)

Ubuntu 10.10 + VIM 7.2 IMproved。 下面的代码改变了控制台vim的语言。 把它添加到你的vim.rc的顶部

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

这两行在你的.vimrc文件开始时会执行这个工作:

 let $LANG = 'en' set langmenu=none 

用改变的语言环境启动vim:

 LC_ALL=en_GB.utf-8 vim 

或者在你的bashrc / profile中默认导出这个variables。

:帮助语言

:语言fr_FR.ISO_8859-1

添加到_vimrc在Windows 8中适用于我:

 set langmenu=en_US let $LANG = 'en_US' 

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

我不知道为什么上述所有答案都不适合我。 我不断收到有关不存在的语言环境的错误。 也许这是一个Windows的东西。 无论如何,我的解决scheme是添加到我的vimrc:let $ LANG ='en'

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

Windows – 两个Vim

除非我意识到我有2个Vim,否则这里没有什么帮助。

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

下一个命令会过滤你看到的所有vimrc文件及其位置。

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

1:Windows和CMD上的Vim

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

你可以在这里findC:\Program Files (x86)\Vim\vim80\lang

我已经尝试过这里列出的所有configuration设置。 这是无用的。

2.1:Git Bash通过MinGW,Cygwin,mintty

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

当然,如果你想删除lang文件夹,你可以在这里find它

  • 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,我select了跳过vimrc的操作

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

LANG='en_US'

要么

LANG=C

但不能使用en_US.UTF-8因为它会让一些bash命令变得怪异。 例如在`find'xxx_yyy_zzz_aaa.bbbddd'为非现有文件。

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

我已经通过删除所有vim数据包并从源代码构buildvim 来解决这个问题。

希望它会帮助别人。

如果你在Windows上,不想被麻烦发出命令

防止GUI加载本地化文件

只要进入Program Files\Vim\vim80\lang ,在下面的所有文件前加上一个下划线作为前缀,看起来像是与你的语言环境有关。

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

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

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

顺便一提

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