大家都知道cmd里的字体是很丑的,而且不像某nix那样可以随便改字体。这是极其不科学且不人道的。
本文就将带你寻找让你的windows控制台更♂诱♂人的办法
首先你要明白,字符终端下的程序是木有字体这个概念的,只有颜色和位置。
然后打开你的注册表编辑器,嘛我觉得你可以用一个叫Registry Workshop的程序来代替系统自带的。
首先更改英文字体
你可以在参考资料[1]或者这里找到可以直接导入注册表的文件
- 转到: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
- 新建这些项(REG_SZ)
“0”=”Lucida Console”
“00”=”Consolas”
“000”=”Courier New”
以及更多……【是零不是O
好了现在打开你的命令提示符,右击左上角的图标,选择默认值,在选项中默认代码页为436,然后在字体中你可以发现刚才添加的字体。
但是中文还是好丑
木有关系,大神已经找到了解决方案,使用一种字体链接的办法(这有点像Android中字体的Fallback机制,在一个DroidSans字体找不到所需字符时就会在DroidSansFallback中寻找)这里有可以直接导入的注册表项
- 链接英文字体(假设Consolas到微软雅黑):在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink 中新建(REG_MULTI_SZ)Consolas = MSYH.TTC 注意:如果你使用Win8以下系统,你应该链接到MSYH.ttf
- 在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\RasterFonts 添加(REG_SZ)微软雅黑=msyh.ttc,同上win8以下用ttf,不知道这个在干嘛,大概是为了渲染地更漂亮?
- 然后重启explorer或者重启机器什么的
- 打开命令提示符,进入默认值,选择代码页436,选择字体为Consolas,更改舒适的字体大小;
- 然后你会发现此时的控制台木有办法显示中文,废话因为436就是ANSI只有英数符嘛~
所以你要做一件很操蛋的事情:把代码页改成936(GBK);说操蛋是因为这个时候进字体选项卡会抽风:Win10及以上的新版控制台,并不会出现如下抽风
所以不要手贱点它,抽完之后你必须重复4-6步步骤
最后效果是这样的
哦对了你可能还想知道上面那一坨字是肿么搞的
进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor项,设置(REG_SZ)AutoRun=”cd /d Z:/temp&&cls&&title SERN机密终端-已连接&&echo SERN机密终端已于%time%启动于%COMPUTERNAME%&&echo 已授权的用户:%USERNAME%&&prompt %USERNAME%@%COMPUTERNAME%:$p # ”
其中title设置窗口标题;prompt设置提示字符串,相当于bash的PS1;$p是当前目录
果然弄得像某nix一点比较苏服~
以上~
参考:
[1]windows命令行(Command Prompt / Console)字体设置 http://www.2maomao.com/blog/windows-console-font/
[2]Windows的cmd.exe使用consolas加中文雅黑字体的方法 http://www.newsmth.net/bbsrecon.php?id=9915
from: “教练,我想玩linux装B,但是还想打dota,怎么办” ; 论野生技术与二次元
from: “教练,我想玩linux装B,但是还想打dota,怎么办” ; 论野生技术&二次元