我新安装了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上看到了类似的消息
如何摆脱此错误消息?
答案 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混淆的路线