启动vim时出现错误信息:“无法将语言环境类别LC_NUMERIC设置为en_CH”(或en_BR,en_RU和LC_TIME,LC_COLLATE,LC_MONETARY,LC_MESSAGES)

时间:2019-06-22 16:03:05

标签: macos vim terminal locale local

我新安装了vim(Vi IMproved 8.1)作为带有Homebrew的MacOS 10.14.5上的文本编辑器。每次我运行vim时,都会显示以下错误消息:

Warning: Failed to set locale category LC_NUMERIC to en_CH.
Warning: Failed to set locale category LC_TIME to en_CH.
Warning: Failed to set locale category LC_COLLATE to en_CH.
Warning: Failed to set locale category LC_MONETARY to en_CH.
Warning: Failed to set locale category LC_MESSAGES to en_CH.

我必须单击ENTER,它才能工作,但我想摆脱该错误消息。

我在that link上看到了类似的消息

如何摆脱此错误消息?

6 个答案:

答案 0 :(得分:17)

首先,通过键入以下内容(使用vim作为文本编辑器)访问.bash_profile文件:

vim ~/.bash_profile

在文件.bash_profile内,插入以下行:

export LC_ALL=en_US.UTF-8

重新启动终端,然后再次启动vim:错误消息应该已经消失。

感谢@geoyws-George Yong和pkropachev 帕维尔·克罗帕切夫({0}

答案 1 :(得分:11)

简而言之:您的macOS / Unix / Linux没有默认的语言环境配置,当bash重新启动时,您应该连接它。因此,解决方案是更新配置文件并重新加载(在我的示例中,语言为英语,默认编码为UTF-8):

如果您使用 oh-my-zsh

vim ~/.zshrc
export LC_ALL=en_US.UTF-8

如果您使用鱼壳

vim ~/.config/fish/config.fish
set -x LC_ALL en_US.UTF-8

其他(默认):

vim ~/.bash_profile 
#OR (vim  ~/.bashrc) 
export LC_ALL=en_US.UTF-8

答案 2 :(得分:2)

以某种方式将您的语言环境设置为“ en_CH”。此语言环境是在瑞士使用的英语语言,但是在您的系统上,这不是有效的语言环境。通常,语言环境还包含要使用的字符集,例如“ en_US.UTF-8”中的“ UTF-8”,此处也不存在。

您的shell配置中可能正在设置这些值,因为macOS通常不会设置这些特定值。而是设置LANG环境变量,并且始终使用UTF-8语言环境。您应该检查.bashrc.bash_profile的设置,或者可能要检查.zshenv.zshrc.zprofile的设置,并更改任何LANG,{{ 1}}或您可能已设置的其他LC_ALL变量。

请注意,我不知道任何具有en_CH语言环境的系统。通常,只会存在该国家或地区常用语言的语言环境(通常但并非总是官方语言)。例如,尽管在美国肯定有许多讲法语的人,但是系统通常不提供fr_US.UTF-8语言环境,因为没有足够的讲者为本地化建立规范。您可能需要选择足够接近您需要的其他英语语言环境,例如“ en_GB.UTF-8”或“ en_US.UTF-8”,或根据要选择和设置的设置分别设置“ LC”变量。选择。

答案 3 :(得分:0)

如果使用zsh,则可以

vim ~/.zshrc

并取消注释下一行:

export LC_ALL=en_US.UTF-8

答案 4 :(得分:0)

如果您使用鱼,则可以

vim ~/.config/fish/config.fish
set -x LC_ALL en_US.UTF-8

答案 5 :(得分:0)

或者,如果您无法创建特定的语言环境(例如,使用无根MacOS *),请设置一个已安装的语言环境。

vim ~/.bash_profile
export LC_ALL=C

我发现语言环境C在我访问的所有系统(包括通过SSH的系统)上都可用。您可以通过locale -a列出可用的语言环境。

*并且不想走与SIP混淆的路线