Loading

powershell 美化

成品

首先得安装powershell 不是自带的 windows powershell

PowerShell - Free download and install on Windows | Microsoft Store

最终效果
{95A74938-25CC-4A7C-A578-8881189D0536}

 

 

 

 

 

 

 

 

第一步:安装 Oh My Posh 主程序

最推荐也是最简单的方法是使用 Windows 自带的包管理器 winget

  1. 打开 PowerShell。
  2. 复制并粘贴以下命令,然后回车:
    PowerShell
    winget install JanDeDobbeleer.OhMyPosh -s winget
  3. 等待进度条走完。
  4. ⚠️ 非常重要: 安装完成后,请关闭当前的 PowerShell 窗口,然后重新打开一个全新的 PowerShell 窗口。这是为了让系统识别刚刚安装的 oh-my-posh 命令。

第二步:安装并设置 Nerd Fonts (解决乱码/方块问题)

Oh My Posh 的主题里有大量的分支图标、闪电、苹果/Windows logo 等。普通的字体不支持这些图标,会显示成 [] 或 ? 的乱码方块。你需要专门的 Nerd Font。

  1. 在刚刚新打开的 PowerShell 中,运行它自带的字体安装工具:

    PowerShell
    oh-my-posh font install
  2. 这时会出现一个可供选择的字体列表(你可以用键盘上下键选择)。
    👉 强烈推荐选择 Meslo (这是官方最推荐、兼容性最好的字体),选中后按回车,等待自动下载并安装。

  3. 在 Windows Terminal 中应用字体:

    • 点击 Windows Terminal 标签栏右侧的 向下箭头 v -> 选择 “设置”。
    • 在左侧菜单找到 “默认值”(或者只改“Windows PowerShell”这一项)。
    • 点击 “外观”。
    • 找到 “字体” (Font face),将其更改为你刚刚安装的字体(例如 MesloLGM Nerd Font)。
    • 点击右下角的 “保存”。

第三步:配置 PowerShell 启动文件 (让它每次打开生效)

现在我们需要告诉 PowerShell,每次打开时自动启动 Oh My Posh。

  1. 在 PowerShell 中运行以下命令(这会检查你有没有配置文件,如果没有就自动创建一个):
    PowerShell
    if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
  2. 接着运行以下命令,用记事本打开这个配置文件:
    PowerShell
    notepad $PROFILE
  3. 在弹出的记事本窗口中,复制并粘贴以下这行代码(这是一套默认的漂亮主题):
    PowerShell
    oh-my-posh init pwsh  | Invoke-Expression
  4. 保存记事本并关闭它。
  5. 运行命令 . $PROFILE (注意前面有个点和空格)或者直接重启 PowerShell。

🎉 大功告成!你现在应该能看到一个带有颜色和图标的酷炫命令行了!

插件功能

在 PowerShell 中,想要实现类似 Fish Shell 或 Oh My Zsh 极其强大的灰色历史记录提示(自动建议)和智能 Tab 补全菜单,你需要配置 PowerShell 内置的神器模块:PSReadLine

下面教你如何花 1 分钟开启这些极其爽快的功能。


第一步:打开你的配置文件

和之前一样,我们需要把配置写在启动文件里。
在 PowerShell 中运行:

PowerShell
notepad $PROFILE

第二步:添加自动提示和补全的配置代码

将以下代码复制并粘贴到你之前那行 Oh My Posh 代码的下面:

PowerShell
# 1. 设置按 Tab 键时,在下方显示候选菜单,而不是一个个轮流切换(强烈推荐)
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete

# 2. 开启基于你输入历史的自动提示(类似 Fish shell 的灰色幽灵文本)
Set-PSReadLineOption -PredictionSource History

# 3. 设置自动提示的显示方式:内联(InlineView)或 列表(ListView)
Set-PSReadLineOption -PredictionViewStyle InlineView

# 4. (可选)如果你更喜欢用上下方向键来搜索历史命令,加上这两行
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

 

第三步:保存并重启

保存记事本并关闭它,然后重启 PowerShell。

进阶排错(如果你输入上面的代码报错了)

如果你使用的是 Windows 10/11 自带的老版本 Windows PowerShell 5.1,它内置的 PSReadLine 版本可能太旧了(低于 2.1),不支持“自动预测”功能,会导致第二步报错。

解决办法是升级你的 PSReadLine:

  1. 以管理员身份打开 PowerShell。
  2. 运行以下命令强制更新模块:
    PowerShell
    Install-Module PSReadLine -Force -SkipPublisherCheck  
  3. 等待安装完成后,重启 PowerShell 即可正常生效。

可选功能的安装方法

1. zoxide (智能目录跳转,替代传统 cd)
你再也不用 cd D:\work\project\src 这样敲长路径了。你只要去过一次那个文件夹,以后在任何地方输入 z src,瞬间跳转过去。

安装:winget install zoxide
配置:在 $PROFILE 里加上 Invoke-Expression (& { (zoxide init powershell | Out-String) })
2. Terminal-Icons (给 ls 命令加上彩色图标)
让你在输入 ls 查看文件时,文件夹显示文件夹图标,txt 显示文本文档图标,贼好看。

安装:Install-Module -Name Terminal-Icons -Repository PSGallery -Force
配置:在 $PROFILE 里加上 Import-Module Terminal-Icons

 

最终的配置如下:

# 0. 初始化
oh-my-posh init pwsh | Invoke-Expression # 1. 设置按 Tab 键时,在下方显示候选菜单,而不是一个个轮流切换(强烈推荐) Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete # 2. 开启基于你输入历史的自动提示(类似 Fish shell 的灰色幽灵文本) Set-PSReadLineOption -PredictionSource History # 3. 设置自动提示的显示方式:内联(InlineView)或 列表(ListView) Set-PSReadLineOption -PredictionViewStyle InlineView # 4. (可选)如果你更喜欢用上下方向键来搜索历史命令,加上这两行 Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
# 5.
(可选)Terminal-Icons (给 ls 命令加上彩色图标)
Import-Module Terminal-Icons

 

 





posted @ 2026-02-20 19:34  ywhb  阅读(45)  评论(0)    收藏  举报