为什么shell中的角色仍然是中国人?

时间:2014-01-11 12:41:35

标签: vim

我的系统是xp + gvim,我在注册表中设置了语言

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]

"CodePage"=dword: 437

我的cmd信息现在是英文,我的gvim也是英文,在我的_vimrc中

set langmenu=en_US 
let $LANG = "en_US"

当我在gvim的命令模式下输入:!date时,输出是中文的,我怎样才能把它变成英文?

enter image description here

当我输入cmd命令时,我得到: Microsoft Windows XP [版本5.1.2600]
(C)版权所有1985-2001 Microsoft Corp.

C:\ Documents and Settings \ sanya> date
目前的日期是:??? 2014-01-11
输入新日期:(yy-mm-dd)

为什么:!来自Vim内部的chcp我得到936而不是437?

1 个答案:

答案 0 :(得分:3)

Vim设置不会影响从它启动的任何外部命令(至少纯Windows应用程序不考虑$LANG,这是一个Unix概念。)

代码页只会影响控制台中可以显示(和输入)的字符;我认为它不会改变用户的语言。为此,您必须使用控制面板>区域设置,或使用程序化替代方案(如此处:how to change system locale in windows 2003 using command line)。