終端是用戶與操作系統進行交互的最原始的輸入輸出環境,也是一些高級系統操作必要工具。
經常調試腳本,使用 git 頻率多,於是今天決定配一個好用的 shell 來當做學習環境。
下面就開始調教 window10 自帶的其實十分強大但是有點醜的 powershell
更換 PowerShell 的配色#
微軟官方提供了一個更換 PowerShell 配色的小工具:ColorTool.exe,我們可以利用它來更換 PowerShell 的主題顏色。
我們可以從 ColorTool 的 GitHub 頁面 下載這個小工具。當然,如果你使用 Scoop 或者 Chocolatey,也可以這樣安裝:
Scoop
scoop install colortool
Chocolatey
choco install colortool
這裡我更加推薦利用 Scoop 這個優質的包管理來安裝 ColorTool。
ColorTool 使用非常簡單。我們可以利用下面這個命令進行查看工具自帶的幾個主題:
# 註:-s 代表 schemes
colortool -s
前面的幾個 .ini 和 .itermcolors 就是主題配置文件,我們可以直接通過下面這個命令設置主題:
# 臨時查看
colortool <主題名稱>
# 定義默認值
colortool -d <主題名稱>
比如我們希望將主題配色更換為
OneHalfDark.itermcolors,只需要輸入下面這個命令就可以更換並預覽更新:
colortool OneHalfDark
由於 ColorTool 直接支持 iTerm 主題配置文件,因此我們可以在 iterm2colorschemes 這個網站找到我們想要的主題背景進行配置,方法和上面介紹的一樣:在 PowerShell 中定位至你希望更換的主題文件,使用命令
colortool <主題名稱>.itermcolors
進行配置即可。同時,如果你對上面的主題都不滿意,你也可以直接在這個網站: terminal.sexy 自行配置自己想要的主題,並通過同樣的方式進行應用。
改進 PowerShell 的字體#
對於大多數人來說,默認 PowerShell 的新宋體
真的是十分的醜。
由於微軟對控制台字體的元數據有限制:
這些字體必須滿足以下條件,可在命令會話窗口中:
該字體必須是等寬字體。
該字體不能為斜體字體。
該字體不能有 A 或 C 負空間。
如果是 TrueType 字體,則它必須是 FF_MODERN。
如果它不是 TrueType 字體,則它必須是 OEM_CHARSET。
對於亞洲字體的附加條件:
如果不是 TrueType 字體,字體名必須是 “Terminal”。
如果它是亞洲的 TrueType 字體,它還必須使用亞洲語言的字符集。
可能大多數人喜歡使用適合於編程的等寬字體如 Consolas 作為 Powershell 的字體,但這裡推薦一款Sarasa Gothic / 更紗黑體 / 更紗ゴシック
(更紗黑體),可以從更紗黑體的 GitHub 頁面下載。
下載解壓安裝更紗黑體之後,我們重新啟動一個 PowerShell 終端,就可以在菜單欄右鍵,選擇屬性-字體
,並在字體中選擇更紗黑體。適合終端使用的等寬字體是等距更紗黑體 T SC
或Sarasa Mono T SC
。
至此字體就從別扭的新宋體
改到了更紗黑體
定制 PowerShell 中的 Prompt 單元#
PowerShell 等 Shell 的一個基本的命令單元大致如下:
- 前面的部分就是 Prompt,能夠展示包括用戶、系統、開發環境、版本控制等等有用的信息
- 後面的部分是具體的命令,也就是我們每次執行操作時輸入命令的位置
安裝 oh-my-posh#
我們需要先以管理員權限啟動 PowerShell,以便執行安裝操作。(具體是在開始按鈕上點擊右鍵,選擇 “Windows PowerShell (管理員)”。
然後,運行命令以安裝 posh-git,這是 oh-my-posh 的依賴。
Install-Module posh-git -Scope CurrentUser
如果此前沒有安裝 NuGet 提供程序,則此時會提示安裝 NuGet;如果此前沒有開啟執行任意腳本,此處也會提示執行腳本。如果沒有權限執行腳本,可能需要先執行
Set-ExecutionPolicy Bypass
接下來,運行命令以安裝 oh-my-posh 本身。
Install-Module oh-my-posh -Scope CurrentUser
到這裡 oh-my-posh 就安裝完畢
配置 oh-my-posh#
接下來,我們需要對 oh-my-posh 進行配置
首先
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE
然後再打開的記事本文檔中添加下列內容
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Agnoster
如果一切順利的話重啟你的 Powershell 就會發現已經變得和本節開頭的示意圖一樣了。
PS:配置文件的最後一句Set-Theme Agnoster
的作用就是配置主題。我們可以在配置文件裡面修改這個命令中的 Agnoster 即「主題名」來更換主題。更多的主題可以oh-my-posh 的文檔 #主題中查看。
使用第三方終端與 Powershell 協同工作#
現在我所使用的和文章內截圖所示的都是基於 ConEmu+Powershell 的效果
咕咕咕
更貼近 win10 風格的第三方終端#
Fluent Terminal#
試用一段時間棄,確實很華麗。
Hyper#
未嘗試
Terminus#
未嘗試
ConEmu#
使用 WSL + zsh#
這方面我也不是很懂.jpg 留個位置以後有機會試試
結束#
至此對 win10 的默認終端 Powershell 調教完成。然後享受吧。