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

ecj*_*cjb 28 macos vim terminal locale local

vim使用Homebrew在MacOS 10.14.5上新安装了(Vi IMproved 8.1)作为文本编辑器。每次我运行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.
Run Code Online (Sandbox Code Playgroud)

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

我在该链接上看到了类似的消息

如何摆脱该错误消息?

ecj*_*cjb 56

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

vim ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

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

export LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

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

感谢@geoyws-George Yong和pkropachev Pavel Kropachev在那里找到了他们的答案,感谢@ bk2204为另一个答案中的提示


小智 8

如果您使用zsh,则可以

vim ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

并取消注释下一行:

export LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)


avi*_*amg 7

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

如果您使用oh-my-zsh

vim ~/.zshrc
export LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

如果您使用鱼壳

vim ~/.config/fish/config.fish
set -x LC_ALL en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

其他(默认):

vim ~/.bash_profile 
#OR (vim  ~/.bashrc) 
export LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)


小智 5

如果你用鱼,你可以

vim ~/.config/fish/config.fish
set -x LC_ALL en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

  • 我用的是鱼壳,这救了我。 (2认同)