安装oh-my-posh

oh-my-zsh用的挺舒服,想着能不能搞搞powershell,结果发现居然还有oh-my-posh,于是来装一手

(有没有oh-my-cmd

官方文档在这里

安装

好像有好几种安装方式,这里用winget的

winget install JanDeDobbeleer.OhMyPosh -s winget
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json"

第一次用可能会报个找不到oh-my-posh命令的错,只要在环境变量Path里添加后重启即可

然后继续

New-Item -Path $PROFILE -Type File -Force
notepad $PROFILE

这时候会在C:\Users\xxx\Documents\WindowsPowerShell下生成一个Microsoft.PowerShell_profile.ps1,在里面添加以下内容

oh-my-posh init pwsh | Invoke-Expression

然后执行脚本

. $PROFILE

重启powershell就有效果了

字体

当然里边一些奇奇怪怪的字符是需要字体支持的,在这里选一个自己喜欢的下载然后在windows里安装以及powershell里配置即可

主题

已有的主题文件路径在C:\Users\xxx\AppData\Local\Programs\oh-my-posh\themes下,具体的主题长什么样可以去网上搜搜,选一个自己喜欢的

要想更换主题也很方便

notepad $PROFILE
在里面添加下面一段命令,然后选择自己喜欢的主题填入xxx中
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\xxx.omp.json | Invoke-Expression
重启即可生效

我这里换了agnoster

插件

在powershell中如果能有自动补全那再好不过了

先下载

Install-Module PSReadLine -RequiredVersion 2.1.0

然后编辑配置文件(notepad $PROFILE)并添加一下几行

# Shows navigable menu of all options when hitting Tab
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

# Autocompletion for arrow keys
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

# auto suggestions
Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History

重启即可生效,就可以自动补全了

(其他插件以后再找找

参考:

oh-my-posh安装过程问题及注意事项

Windows Terminal/Powershell 设置自动补全, 智能提示 【类似于mac的iterm2功能】