enpitsulin

enpitsulin

这个人很懒,没有留下什么🤡
twitter
github
bilibili
nintendo switch
mastodon

在Windows下配置你的shell

終端是用戶與操作系統進行交互的最原始的輸入輸出環境,也是一些高級系統操作必要工具。
經常調試腳本,使用 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

幾個自帶配色主題 | 975x325

前面的幾個 .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 SCSarasa Mono T SC

至此字體就從別扭的新宋體改到了更紗黑體

定制 PowerShell 中的 Prompt 單元#

PowerShell 等 Shell 的一個基本的命令單元大致如下:

  • 前面的部分就是 Prompt,能夠展示包括用戶、系統、開發環境、版本控制等等有用的信息
  • 後面的部分是具體的命令,也就是我們每次執行操作時輸入命令的位置

Shell 命令結構 | 1114x130

安裝 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 調教完成。然後享受吧。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。