不同于mac OS及Linux的終端,window的cmd想來很難用,為了連接服務器,很多人首先都會用xshell,但是第一界面就很難看,而且試用期過了后很麻煩,這里我找到一款很不錯的工具。
Console、Terminal 和 Shell 的區別
由于我們接下來要分別從「終端」和「命令行解釋器」的角度去改造 Windows 終端環境,所以在動手魔改 Windows 終端之前,先聽我絮叨一些專有名詞:控制臺(Console)、終端(Terminal)和命令行解釋器(Shell)。
對于現在來講:
我們打開 Windows 的那個「小黑框」(Command Prompt),實際上就是打開了一個終端(Terminal)
在終端里面「輸入命令,得到結果」的交互程序,就是命令行解釋器(Shell)也就是CMD
也正因如此,Windows 最新的 Shell 叫 PowerShell。(控制臺 Console 則是相對古老的概念,是大型機物理意義上面的獨立終端,我們在這里先不探討這個話題。)使用 macOS 和 Linux 的同學如果聽說過bash和zsh的話,它們同樣也是 Shell。
打個比方,Terminal 就像是一個人的衣服,可以有各種顏色、形狀甚至功能;那么 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 頁面下載。
更紗黑體的 PowerShell
下載解壓安裝更紗黑體之后,我們重新啟動一個 PowerShell 終端,就可以在菜單欄右鍵,選擇「屬性-字體」,并在字體中選擇更紗黑體。適合終端使用的等寬字體是「等距更紗黑體 T SC」或「Sarasa Mono T SC」。
配置默認終端的字體
這樣一來,我們就不必面對新宋體發愁了。
更換 PowerShell 的配色
微軟官方提供了一個更換 PowerShell 配色的小工具:ColorTool.exe,我們可以利用它來更換 PowerShell 的主題顏色。ColorTool 支持 iTerm 主題(以.itermcolors結尾的主題文件)。
我們可以從ColorTool 的 GitHub 頁面下載這個小工具。當然,如果你使用Scoop,也可以這樣安裝:
scoop install colortool
值得注意的是,如果你是直接從 GitHub 上面下載了colortool.zip并解壓,colortool.exe的路徑就并沒有自動加入環境變量,所以你沒有辦法全局調用這個工具。因此我更加推薦利用 Scoop 這個優質的包管理來安裝 ColorTool。
推薦閱讀:「一行代碼」搞定軟件安裝卸載,用 Scoop 管理你的 Windows 軟件
ColorTool 使用非常簡單。工具自帶了幾種主題,我們可以利用下面這個命令進行查看:
# 注:-s 代表 schemes
colortool -s
幾個自帶配色主題
其中前面列出的幾個.ini和.itermcolors就是主題配置文件,我們可以直接通過下面這個命令設置主題:
# 臨時查看
colortool <主題名稱>
# 定義默認值
colortool -d <主題名稱>
比如我們希望將主題配色更換為OneHalfDark.itermcolors,只需要輸入下面這個命令就可以更換并預覽更新:
colortool OneHalfDark
更換主題
由于 ColorTool 直接支持 iTerm 主題配置文件,因此我們可以在iterm2colorschemes這個網站找到我們想要的主題背景進行配置,方法和上面介紹的一樣:在 PowerShell 中定位至你希望更換的主題文件,使用命令colortool <主題名稱>.itermcolors進行配置即可。同時,如果你對上面的主題都不滿意,你也可以直接在這個網站:?terminal.sexy自行配置自己想要的主題,并通過同樣的方式進行應用。
第三方終端
默認終端雖然響應迅速,但是其限制諸多,如果你對上面介紹的默認終端有所不滿,也可以試一試下面這三個配置更方便,顏值更高的第三方終端模擬器。
但是習慣了Mac的終端操作ITerm結合oh-my-zsh神器,很難接受win10的這個環境,偶然間發現了一個很好用的工具,也就是本文主要要介紹的Fluent Terminal,Xshell由于版本更新,試用期等問題在使用的時候導致出現一些很尷尬的問題。
Fluent Terminal
Fluent Terminal 是現代的、也是我最推薦的終端。它是專屬于 Windows 平臺,利用 UWP 技術打造的顏值超高的終端模擬器。
Fluent Terminal
Fluent Terminal 在 GitHub 上面開源,項目地址在:felixse/FluentTerminal。由于一些原因,作者并沒有成功地將軟件直接提交給微軟商店上架,因此我們需要從其 GitHub Release 頁面下載安裝它。通常情況下,如果你的 Windows 版本較新,可以直接使用No Dependencies的那個版本,不過如果接下來你安裝過程出現問題,那么就使用第一個安裝包。
下載 Fluent Terminal
解壓之后,我們得到如下的文件目錄:
安裝 Fluent Terminal
右鍵點擊Install.ps1,選擇使用 PowerShell 運行,之后按照提示操作即可安裝成功。
Fluent Terminal 設置字體和主題顏色則簡單得多:
設置界面里,我們可以方便地選擇合適的字體。
配置 Fluent Terminal 的字體
同時,我們也可以在 Profiles 里面將 PowerShell 設置為默認的 Shell。
配置默認的 Shell 為 PowerShell
值得注意的是,Fluent Terminal 也支持 iTerm 主題配置文件,因此我們剛剛下載的主題同樣可以在這里使用。
導入并使用相應的主題
Fluent Terminal 是利用原生 Windows 10 最新的 UWP 技術打造而成,其響應速度僅稍遜于自帶的默認 PowerShell 終端。值得推薦。??
安裝全部完成后,同樣的ssh連接遠程服務器即可
注意有的同學第一次使用可能不熟悉,不同于xshell命令ssh ip然后提示你輸入username passwd
這里需要ssh username@遠程IP
然后提示輸入passwd,輸入即可,這里記得切換為英文輸入法,否則會提示密碼錯誤
Hyper
接下來介紹的 Hyper 以及下面的 Terminus,都是基于 Electron 的跨平臺應用,配置方便、插件豐富、界面美麗。當然,避免不了的是 Electron 資源消耗大,打開和響應都沒有前面介紹的快,但是它們的拓展性都非常強大,可以試一試。
Hyper 也在 GitHub 上面開源,項目地址在:zeit/hyper,我們可以在Hyper 的 GitHub Release 頁面下載安裝,也可以利用scoop install hyper來安裝。
Hyper
Hyper 的配置相對復雜,需要直接修改其設置文件.hyper.js。這里我僅僅介紹如何配置 Hyper 的默認 Shell 和字體,以及如何安裝主題、插件的內容。
Hyper 配置的一切都發生在配置文件中,你可以通過快捷鍵Ctrl + ,或者直接定位至C:\Users\<你的用戶名>\.hyper.js來打開配置文件??梢钥吹揭呀浻泻芏嗯渲庙椓艚o我們修改,其中:
修改字體:
// 以更紗黑體為例子
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 很方便,我們一樣可以從Terminus 的 GitHub Release 頁面下載安裝它,也可以利用scoop install terminus來安裝。
Terminus 也是為數不多的幾個有 Fluent Design 背景的 Electron 應用,我們可以在下面這里開啟 Fluent 背景渲染,并把 Background type 改為 Fluent:
使用 Fluent 設計的背景
配置 Terminus 的字體、配色和默認 Shell 都很簡單:
在這里我們可以修改字體(Font)和配色主題(Color Scheme):
配置字體和主題
在這里我們可以選擇使用 PowerShell 作為默認的 Shell:
設置默認的 Shell
Terminus 的可玩性也很足,同樣有很多插件可以安裝,由于設置界面很清晰,我就不在這里一一列舉了。