shell & terminal

The new Windows Terminal and the original Windows console host, all in the same place!

powersehll 7 將較於舊版友善許多,terminal 的話就用 windows termainl 巴,應該是目前最好的方案,MacOS 平台可以玩玩看 Alacritty 有支援 GPU 加速,比 iTerm 快上許多

scoop install pwsh

可以在 powershell profile 客製化一些常用的指令

Set-Alias vim nvim
Set-Alias cat bat
Set-Alias grep rg

Set-Alias ls lsd_func
function lsd_func { lsd --classic $args }

function ip { curl -s  https://api.myip.com | jq }

starship prompt

The minimal, blazing-fast, and infinitely customizable prompt for any shell!

Starship 是跨平台的 prompt 不管在 linux 下面 zsh bash 或是 windows powershell 都可以做使用,設定一次免煩惱,包含許多模組 (git battery time),又是 rust 寫的,直接裝起來

安裝

scoop install starship

編輯一下 powershell profile 有裝 VS Code 的話可以直接打開,或是 notepad 也可以

code $PROFILE
notepad $PROFILE

加入

Invoke-Expression (&starship init powershell)

在家目錄 .config 資料夾中新增 starship.toml 設定檔

支援滿多模組可以參考 starship configuration

format = """
$username\
$hostname\
$directory\
$git_branch\
$git_commit\
$git_state\
$git_metrics\
$git_status\
$fill\
$c\
$cmake\
$golang\
$python\
$time\
$line_break\
$character"""

[character]
success_symbol = "[\\$](bold green)"

[username]
format = "[$user]($style)@"

[hostname]
style = "bold yellow"
ssh_only = false
format = "[$ssh_symbol$hostname]($style):"

[fill]
symbol = " "

[package]
disabled = true

[python]
symbol = " "

[git_branch]
symbol = " "

[golang]
symbol = " "

[c]
symbol = " "

font

推薦可以從 nerdfonts.com 下載喜歡的字體,有支援一些其他的特殊符號,至於下載下來很多檔案,可以參考 FAQ-and-Troubleshooting 裡面有些解答

zoxide

A smarter cd command. Supports all major shells.

zoxide 搭配 powershell 使用,在 profile 中加入,記得在 Starship 後面,避免衝突

Invoke-Expression (& {
    $hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
    (zoxide init --hook $hook powershell | Out-String)
})

最後秀一下 terminal