【问题标题】:How do I set the UI language in vim?如何在 vim 中设置 UI 语言?
【发布时间】:2010-09-12 17:09:18
【问题描述】:

我在 reddit 上看到了 this,它让我想起了我对 vim 的一个抱怨:​​它以 德语 显示 UI。该死的,维姆!我想要英语,但由于我的操作系统是用德语设置的(我们办公室的标准),我猜 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 时,语言 en 总是给我一个错误。我使用了 C 语言,它就像一个魅力!

标签: vim user-interface


【解决方案1】:

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

【讨论】:

  • 我改成 lang_ori 以备日后需要。
  • \usr\share\vim\vim80\lang 对于 Windows 上的 MinGWCygwin 用户有帮助
  • @AugustLilleaas 你认为删除lang 文件夹安全吗?
【解决方案2】:

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

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

【讨论】:

  • 这里一样,这个有效。我相信delmenu - menu 循环至关重要。
【解决方案3】:

正如 Ken 所说,您需要 the :language command

请注意,将其放入您的 .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

【讨论】:

  • 我将不得不再检查一下 - 它目前无法正常工作,但只能在下周三访问有问题的机器。感谢您的回复。
  • 对我不起作用(vim 抱怨找不到 en_US?!)但@August-Lilleaas 解决方案确实有效!
  • 在 Windows 7 上我必须使用 gvim --cmd "lang English_United States"
  • 你也可以在你的vimrc中添加language messages en(注意:它应该在最开始)。
  • @hfs 非常感谢您的评论。我在我的_vimrc 文件中添加了language English_United States,它在VIM 7.4 和Windows 8 下帮助了我。
【解决方案4】:

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

set langmenu=en_US.UTF-8

【讨论】:

  • 其实这是设置 langmenu=en_US.UTF-8,至少在我的 gVim 7.2 上
  • 工作就像一个魅力,当然正如 Rytmis 所说,没有冒号 (:)
  • 注意:这将设置菜单的语言,但消息等需要:语言设置。
  • 请注意,您可以使用set langmenu=none 而不是指定实际的(英语)语言来简化操作。
【解决方案5】:

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

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

但是

language en 

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

:let $LANG = 'en'

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

PS:这一行改变了语言和菜单语言

language messages en

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

【讨论】:

    【解决方案6】:

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

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

    【讨论】:

      【解决方案7】:

      :帮助语言

      :语言 fr_FR.ISO_8859-1

      【讨论】:

        【解决方案8】:

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

        let $LANG = 'en'
        set langmenu=none
        

        【讨论】:

          【解决方案9】:

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

          set langmenu=en_US
          let $LANG = 'en_US'
          

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

          【讨论】:

            【解决方案10】:

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

            LC_ALL=en_GB.utf-8 vim
            

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

            【讨论】:

              【解决方案11】:

              Windows 上的两个 Vim 安装

              在我意识到我已经安装了 2 个 Vim 之前,周围没有任何东西可以帮助我。

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

              接下来command 将过滤你所有观看过的vimrc-文件及其位置。

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

              1:Windows 上的 Vim 和 CMD

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

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

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

              2.1:通过 MinGW、Cygwin、mintty 实现 Git Bash

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

              当然,如果您想删除 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' 中表示一个不存在的文件。

              【讨论】:

              • 最完整的答案。非常感谢。
              【解决方案12】:

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

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

              【讨论】:

                【解决方案13】:

                尝试将这个添加到你的_vimrc:

                let $LANG='en_US'
                

                【讨论】:

                  【解决方案14】:

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

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

                  希望对某人有所帮助。

                  【讨论】:

                    【解决方案15】:

                    如果您使用的是 Windows 并且不想被打扰发出命令

                    防止 GUI 加载本地化文件

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

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

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

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

                    顺便说一句

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

                    【讨论】:

                      【解决方案16】:

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

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

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 2010-10-27
                        • 1970-01-01
                        • 1970-01-01
                        • 2019-07-22
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多