如何在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,否则这里没有什么帮助。
- Git Bash通过MinGW(Cygwin,mintty)
- 在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它们,则回退语言很可能是英语。