大家都知道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,怎麼辦」 ; 論野生技術&二次元