終端,是用戶與操作系統進行交互的最原始的輸入輸出環境,也是執行一些高級系統操作的必要工具。而 Windows 的終端「小黑框」,一直給大家一種「難看難用」的印象。接下來,我將介紹一些小方法,來對 Windows 的終端環境進行改造,讓其使用體驗比肩 macOS 和 Linux 的終端。
Console、Terminal 和 Shell 的區別
打住打住,由於我們接下來要分別從「終端」和「命令行解釋器」的角度去改造 Windows 終端環境,所以在動手魔改 Windows 終端之前,先聽我絮叨一些專有名詞:控制檯(Console)、終端(Terminal)和命令行解釋器(Shell)。
對於現在來講:
- 我們打開 Windows 的那個「小黑框」(Command Prompt),實際上就是打開了一個終端(Terminal)
- 在終端裡面「輸入命令,得到結果」的交互程序,就是命令行解釋器(Shell)
也正因如此,Windows 最新的 Shell 叫 PowerShell。(控制檯 Console 則是相對古老的概念,是大型機物理意義上面的獨立終端,我們在這裡先不探討這個話題。)使用 macOS 和 Linux 的同學如果聽說過 bash 和 zsh 的話,它們同樣也是 Shell。
打個比方,Terminal 就像是一個人的衣服,可以有各種顏色、形狀甚至功能;那麼 Shell 則是這個人,你和他溝通來獲得信息,並且他可以在與你溝通的過程中事先告訴你許多信息、提醒,甚至自動幫你補充你想說的話。
就像我前面提到的:PowerShell 是 Windows 新一代 Shell。而大家可能更為了解的「小黑框 Command Prompt」則是 Windows 向前兼容的古老作品,bug 多不說,還有諸多不方便。所以我們不用猶豫,直接使用 PowerShell 吧!
接下來,我們來先改造 Windows PowerShell 的外在「默認終端」。
默認的 PowerShell 終端
Windows 為我們提供了一個默認的 PowerShell 終端,可以在 Windows 開始菜單上右鍵,點擊「Windows PowerShell」打開。雖然默認終端有很多限制,但是其技術相對底層,響應就高效迅速,碾壓其他所有第三方終端模擬器。我們從默認終端開始魔改。
改進 PowerShell 的字體
不得不承認的是,在中文環境下,默認 PowerShell 的「新宋體」確實很(zhen)不(ta)耐(ma)看(chou)。然而由於默認 PowerShell 終端是一個非常底層的應用,其界面甚至沒有利用 WinForm、WPF 等通用 UI 渲染框架來實現,而是直接調用底層 Windows API 來實現,因此其字體要求非常嚴格。(這也是我們不能隨隨便便下載一個我們喜歡的等寬字體給 PowerShell 默認終端使用的緣故。)
目前據我所知,唯一支持這一嚴格要求的字體(中文環境下)只有「Sarasa Gothic / 更紗黑體 / 更紗黑體 / 更紗ゴシック」(後面簡稱更紗黑體),可以從 更紗黑體的 GitHub 頁面下載:https://github.com/be5invis/Sarasa-Gothic/releases
下載解壓安裝更紗黑體之後,我們重新啟動一個 PowerShell 終端,就可以在菜單欄右鍵,選擇「屬性-字體」,並在字體中選擇更紗黑體。適合終端使用的等寬字體是「等距更紗黑體 T SC」或「Sarasa Mono T SC」。
這樣一來,我們就不必面對新宋體發愁了。
更換 PowerShell 的配色
微軟官方提供了一個更換 PowerShell 配色的小工具:ColorTool.exe,我們可以利用它來更換 PowerShell 的主題顏色。ColorTool 支持 iTerm 主題(以 .itermcolors 結尾的主題文件)。
我們可以從 ColorTool 的 GitHub 頁面 下載這個小工具。當然,如果你使用 Scoop,也可以這樣安裝:
scoop install colortool
值得注意的是,如果你是直接從 GitHub 上面下載了 colortool.zip 並解壓(下載地址:https://github.com/Microsoft/console/releases),colortool.exe 的路徑就並沒有自動加入環境變量,所以你沒有辦法全局調用這個工具。因此我更加推薦利用 Scoop 這個優質的包管理來安裝 ColorTool。
ColorTool 使用非常簡單。工具自帶了幾種主題,我們可以利用下面這個命令進行查看:
# 注:-s 代表 schemes
colortool -s
其中前面列出的幾個 .ini 和 .itermcolors 就是主題配置文件,我們可以直接通過下面這個命令設置主題:
# 臨時查看
colortool
# 定義默認值
colortool -d
比如我們希望將主題配色更換為 OneHalfDark.itermcolors,只需要輸入下面這個命令就可以更換並預覽更新:
colortool OneHalfDark
由於 ColorTool 直接支持 iTerm 主題配置文件,因此我們可以在 iterm2colorschemes 這個網站找到我們想要的主題背景進行配置,方法和上面介紹的一樣:在 PowerShell 中定位至你希望更換的主題文件,使用命令 colortool .itermcolors 進行配置即可。同時,如果你對上面的主題都不滿意,你也可以直接在這個網站: terminal.sexy 自行配置自己想要的主題,並通過同樣的方式進行應用。
第三方終端
默認終端雖然響應迅速,但是其限制諸多,如果你對上面介紹的默認終端有所不滿,也可以試一試下面這三個配置更方便,顏值更高的第三方終端模擬器。
Fluent Terminal
Fluent Terminal 是現代的、也是我最推薦的終端。它是專屬於 Windows 平臺,利用 UWP 技術打造的顏值超高的終端模擬器。
Fluent Terminal 在 GitHub 上面開源,項目地址在:felixse/FluentTerminal。由於一些原因,作者並沒有成功地將軟件直接提交給微軟商店上架,因此我們需要從 其 GitHub Release 頁面 下載安裝它。通常情況下,如果你的 Windows 版本較新,可以直接使用 No Dependencies 的那個版本,不過如果接下來你安裝過程出現問題,那麼就使用第一個安裝包。
解壓之後,我們得到如下的文件目錄:
右鍵點擊 Install.ps1,選擇使用 PowerShell 運行,之後按照提示操作即可安裝成功。
Fluent Terminal 設置字體和主題顏色則簡單得多:
- 設置界面裡,我們可以方便地選擇合適的字體。
- 同時,我們也可以在 Profiles 裡面將 PowerShell 設置為默認的 Shell。
- 值得注意的是,Fluent Terminal 也支持 iTerm 主題配置文件,因此我們剛剛下載的主題同樣可以在這裡使用。
Fluent Terminal 是利用原生 Windows 10 最新的 UWP 技術打造而成,其響應速度僅稍遜於自帶的默認 PowerShell 終端。值得推薦。
Hyper
接下來介紹的 Hyper 以及下面的 Terminus,都是基於 Electron 的跨平臺應用,配置方便、插件豐富、界面美麗。當然,避免不了的是 Electron 資源消耗大,打開和響應都沒有前面介紹的快,但是它們的拓展性都非常強大,可以試一試。
Hyper 也在 GitHub 上面開源,項目地址在:zeit/hyper,我們可以在 Hyper 的 GitHub Release 頁面 下載安裝,也可以利用 scoop install hyper 來安裝。
Hyper 的配置相對複雜,需要直接修改其設置文件 .hyper.js。這裡我僅僅介紹如何配置 Hyper 的默認 Shell 和字體,以及如何安裝主題、插件的內容。
Hyper 配置的一切都發生在配置文件中,你可以通過快捷鍵 Ctrl + , 或者直接定位至 C:\\Users\\\\.hyper.js 來打開配置文件。可以看到已經有很多配置項留給我們修改,其中:
- 修改字體:
// 以更紗黑體為例子
fontFamily: '"Sarasa Mono T SC", monospace'
- 修改默認 Shell 為 PowerShell:
shell: 'C:\\\\WINDOWS\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe',
shellArgs: [],
env: {}
- 安裝主題或其他插件:
// 比如安裝這個叫做 hyperterm-cobalt2-theme 的主題
plugins: ["hyperterm-cobalt2-theme"]
很簡單,之後我們保存配置文件,Hyper 會自動重新加載,並下載相應的主題或插件並實時更新,只需要等待片刻即可看到我們的配置生效。Hyper 的社區很完善,有大量精美的主題和插件,我們可以在 Hyper 插件 尋找有趣的插件,在 Hyper 主題 挑選配色方案,同時這個 bnb/awesome-hyper 整合倉庫也可以參考很多。
Terminus
Terminus 同樣也在 GitHub 上面開源,項目地址在:Eugeny/terminus。其實我更推薦 Terminus,因為它原生支持了 Windows Fluent 背景,同時它的設置是 GUI 方式的,更用戶友好。
安裝 Terminus 很方便,我們一樣可以從 Terminus 的 GitHub Release 頁面 下載安裝它,也可以利用 scoop install terminus 來安裝。
Terminus 也是為數不多的幾個有 Fluent Design 背景的 Electron 應用,我們可以在下面這裡開啟 Fluent 背景渲染,並把 Background type 改為 Fluent:
配置 Terminus 的字體、配色和默認 Shell 都很簡單:
- 在這裡我們可以修改字體(Font)和配色主題(Color Scheme):
配置字體和主題
- 在這裡我們可以選擇使用 PowerShell 作為默認的 Shell:
Terminus 的可玩性也很足,同樣有很多插件可以安裝,由於設置界面很清晰,我就不在這裡一一列舉了。
這篇文章到這裡也就大概結束了,我們:
- 不僅介紹瞭如何修改默認終端,讓我們不需要每天面對新宋體和藍色背景發愁
- 還推薦了三個更現代的終端,供大家選擇
但是 Windows 終端美化之路還沒有到盡頭,接下來我還會繼續介紹如何讓 PowerShell 的 Shell 更炫酷,敬請期待。感謝閱讀。
閱讀更多 少數派 的文章