Oh My Posh在windows上面的使用

Windows 终端美化笔记

一、安装必要工具

Windows + X 然后打开powershell

  1. Oh My Posh
# 使用 winget 安装
winget install JanDeDobbeleer.OhMyPosh -s winget

# 安装字体
oh-my-posh font install
# 选择并安装 FiraCode Nerd Font

二、配置 Oh My Posh

  1. 创建 PowerShell 配置文件
# 查看配置文件路径
输入:
echo $PROFILE
会返回:
 goodm  echo $PROFILE
C:\Users\goodm\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
然后可以直接去目录下面打开,也可以直接:
# 用记事本打开配置文件
notepad $PROFILE

# 使用完整路径初始化 Oh My Posh
C:\Users\goodm\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe init pwsh | Invoke-Expression

# 如果想使用特定主题,可以这样写:
# C:\Users\goodm\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe init pwsh --config "$env:POSH_THEMES_PATH\agnoster.omp.json" | Invoke-Expression
  1. 更换主题
# 查看所有主题
Get-PoshThemes

# 使用特定主题(在配置文件中添加)
C:\Users\你的用户名\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe init pwsh --config "$env:POSH_THEMES_PATH\agnoster.omp.json" | Invoke-Expression

四、常用主题推荐

  • agnoster
  • paradox
  • powerlevel10k_rainbow
  • atomic
  • jandedobbeleer

五、注意事项

  1. 字体问题

    • 必须安装 Nerd Font 字体
    • Windows Terminal 和 VSCode 都需要设置字体
  2. 路径问题

    • 使用完整路径可以避免找不到命令的问题
    • 注意替换配置中的用户名
  3. 重启生效

    • 修改配置后需要重启终端
    • 或执行 . $PROFILE 重新加载配置
  4. 常见问题

    • 乱码:检查字体设置
      image
      先去:https://www.nerdfonts.com/font-downloads
      下载:这个字体
      image
      然后:
      image
      image
      然后就成功了
      image

    • 命令未找到:检查路径配置

    • 加载慢:尝试更换更简单的主题

    我的配置:

   #获取所有的主题文件
$AllThemes = Get-ChildItem -Path $env:POSH_THEMES_PATH
#随机选一个主题文件
$RandomTheme = $AllThemes | Get-Random
#获取主题文件名称
$ThemeName = $RandomTheme.BaseName
echo "Lucky theme: $ThemeName "
# 使用 tokyo 主题初始化 Oh My Posh(只需要一次初始化)
C:\Users\goodm\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe init pwsh --config "C:\Users\goodm\AppData\Local\Programs\oh-my-posh\themes\tokyo.omp.json" | Invoke-Expression


# 设置命令历史提示
Set-PSReadLineOption -PredictionSource History

# 设置命令历史列表提示
Set-PSReadLineOption -PredictionViewStyle ListView

加入随机主题功能:

# 获取所有的主题文件
$AllThemes = Get-ChildItem -Path $env:POSH_THEMES_PATH

# 随机选一个主题文件
$RandomTheme = $AllThemes | Get-Random

# 获取主题文件名称
$ThemeName = $RandomTheme.BaseName
Write-Host "Lucky theme: $ThemeName"

# 使用随机主题初始化 Oh My Posh
oh-my-posh init pwsh --config "$($RandomTheme.FullName)" | Invoke-Expression


# 设置命令历史提示
Set-PSReadLineOption -PredictionSource History

# 设置命令历史列表提示
Set-PSReadLineOption -PredictionViewStyle ListView
posted @ 2024-12-11 14:49  yangstar  阅读(12)  评论(0编辑  收藏  举报