侧边栏壁纸
博主头像
琉璃红梅 博主等级

琉璃世界,白雪红梅。

  • 累计撰写 52 篇文章
  • 累计创建 102 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

WezTerm+Starship-让你的终端赏心悦目

雪穗
2026-05-16 / 0 评论 / 0 点赞 / 8 阅读 / 0 字
温馨提示:
若部分素材不小心影响到您的利益,请联系我删除。

长期以来我们见到的终端就是一个黑漆漆的窗口,从 CMD 到 PowerShell,他们的窗口都十分简陋,之所以感到简陋的在我看来有几个原因,一是字体无法自定义、二是单调的黑底白字、三是标题栏和内容区风格不搭,一直以来我们单独使用它们的几率比较低,偶尔才打开一下,所以无需考虑美化,但是如果你经常使用像 Claude Code CLI 这类的 REPL 交互式编程环境,那么一个赏心悦目的终端是不可或缺的。

WezTerm 是基于 Rust 编写的使用 GPU 加速的跨平台终端工具,它之所以如何如此受欢迎,主要在于可以通过配置文件对其进行灵活的自定义和美化,而 Starship 则可以对提示符进行美化,“双剑合璧”让我们的终端不再是单调的黑窗口。

1.WezTerm 的安装与配置

WezTerm官网:https://wezterm.org/

1.1 下载和安装 WezTerm

首先是下载 WezTerm,进入官网的 下载页面 可以看到有两个版本的 exe,这里选择下载 Nightly Windows 版本,因为 Windows 版本已经长时间不更新了,下载之后双击安装即可,重启电脑之后右键会出现提示 Open WezTerm Here,点击即可打开 WezTerm 终端,如下图所示,默认打开的是 Windows CMD,这里的 WezTerm 可以看做是 “shell 聚合器”,它本身并不提供像 CMD 、PowerShell、Bash 等直接运行脚本的能力。

1.2 配置 WezTerm

“人靠衣装、马靠鞍”,只用通过“精心打扮”才能打造符合自己审美的 WezTerm 终端,但是从裁缝做起显然耗时耗力,且不说 WezTerm 的配置文件使用了一般人都比较陌生的 Lua 语言,而且为了配置更灵活 WezTerm 提供了众多的配置项。但是,互联网无所不能,我们只需稍加搜索便可以得到想要的配置效果,然后交给 AI 优化便可以轻松得到适合自己的配置。

我的配置文件就是在 wezterm-config 基础上进行了一些调整,因为只在 Windows 系统上使用,所以我移除了为了兼容其它系统而存在的配置,我的配置文件在可到 wezterm 下载,你只需要下载配置文件到 ~\.config 目录下即可,具体的目录结构如下:

 wezterm/
 ├── wezterm.lua                  # 入口文件,加载并合并所有配置模块
 ├── README.md                  # README
 ├── backdrops/
 │   └── space.jpg                # 终端背景图片
 ├── colors/
 │   └── custom.lua               # 自定义 Catppuccin Mocha 颜色方案
 ├── config/
 │   ├── init.lua                 # Config 类:提供配置合并基础设施
 │   ├── appearance.lua           # 外观配置:主题、背景、窗口、滚动条、光标等
 │   ├── bindings.lua             # 快捷键与鼠标绑定
 │   ├── fonts.lua                # 字体配置
 │   ├── general.lua              # 通用行为配置
 │   └── launch.lua               # 默认 Shell 与启动器菜单
 ├── events/
 │   ├── new-tab-button.lua       # 新建标签按钮的点击行为
 │   ├── right-status.lua         # 右侧状态栏(日期、电池)
 │   └── tab-title.lua            # 标签标题格式化
 └── utils/
     └── math.lua                 # 数学工具函数(clamp、round)

这些配置项设置了终端整体的样式、默认运行的 shell、字体、背景图等,终端的字体需要是我们系统上已安装的字体

为了能让终端中的图标正常显示,需要安装 Nerd Font 字体,这里选择安装 MapleMono NF CN 字体,你也可以选择另一常用字体 JetBrainsMono NF,从 NRED FONTS 中找到该字体并下载,然后将字体文件放到 C:\Windows\Fonts 目录下即可完成安装。

配置后的效果如下:

每次打开 PowerShell 都会显示版本和版权信息,而添加 -NoLogo 这一参数可以将其关闭

 { label = " PowerShell", args = { "powershell", "-NoLogo" } },

2.Starship 的安装与配置

Starship 官网:https://starship.rs/zh-cn/

在上一节,我们已经得到了漂亮的终端,如果你觉得可以了就可以收手了,本节将对提示符进行美化,也就是光标前面的路径,显然当前提示符提供的信息有限且朴素。

2.1 下载和安装 Starship

1.下载 Starship MSI 安装,选择名为 starship-x86_64-pc-windows-msvc.msi 的安装包,双击安装即可,然后将 Starship 安装路径加入到 Path 系统环境变量中

2.安装 Nerd Fonts 字体(上一节已安装),否则美化所用的图标将无法正常显示

3.配置需要美化的 shell,这里以 PowerShell 为例,先在终端输入 $PROFILE,即可查看 PowerShell 配置文件的路径

 # 查看 PowerShell 配置文件路径
 $PROFILE
 C:\Users\Su\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

如果不存在 Microsoft.PowerShell_profile.ps1 文件,就在该路径下创建同名文件,用任意文本编辑器打开并写入如下内容,这样只有使用 WezTerm 时,才会应用 Starship 对提示符进行美化

 if ($env:TERM_PROGRAM -eq "WezTerm") {
     Invoke-Expression (&starship init powershell)
 }

如果你想将 Starship 应用于任意终端,去掉判断语句即可,不过需要修改终端字体为 Nerd Fonts 类型

 Invoke-Expression (&starship init powershell)

应用 Starship 后效果如下,似乎和原来差别不大,别急继续往下看

2.2 应用 Starship 的 preset(预设)

默认的美化效果还是不够美观,你可以根据 Starship 的 配置指南 自定义配置文件得到想要的效果,不过我更推荐直接使用 preset 或在此基础上进行调整,所谓 presets 就是一些别人的配置文件,以 catppuccin-powerline 为例,只需在终端(PowerShell)中执行如下命令,如下为命令行写入配置文件,你也可以手动创建然后写入。

 # 在家目录下创建 .config 目录(存在则跳过),然后在 .config 目录下创建 starship.toml 配置文件
 (New-Item -ItemType Directory -Force -Path ~/.config) | Out-Null; (New-Item -ItemType File -Force -Path ~/.config/starship.toml) | Out-Null
 ​
 # 将预设写入配置文件,后续你可以根据自身喜好自行调整配置
 starship preset catppuccin-powerline -o $HOME/.config/starship.toml

默认情况下,此预设使用 Catppuccin 的 Mocha 风格,但你可以通过修改配置文件中的 palette 的值来指定如下任意风格

  • catppuccin_mocha

  • catppuccin_frappe

  • catppuccin_macchiato

  • catppuccin_latte

最终的效果如下:

如果你使用经常使用 Git Bash,需要在 config\launch.lua 中加入如下配置,bash.exe 路径需要修改为你自己的安装路径,STARSHIP_INIT 环境变量的作用保证只有在 WezTerm 中打开 Git Bash 时才加载 Starship

 {
     label = " GitBash",
     args = { "D:\\software\\Git\\bin\\bash.exe" },
     set_environment_variables = {
         -- 显示中文字符
         LANG = "zh_CN.UTF-8",
         LC_ALL = "zh_CN.UTF-8",
         -- 自定义环境变量来初始化
         STARSHIP_INIT = "1",
     },
 }

然后在 ~\.bashrc 文件中加入如下内容

 if [ "$STARSHIP_INIT" = "1" ]; then
     eval "$(starship init bash)"
 fi

并在 ~\.bash_profile 文件中加入如下内容,确保可以自动 source .bashrc

 source ~/.bashrc

3.扩展

3.1 在PowerShell终端中使用 Vim

下载并安装 Vim (选择 ..._x64.exe 安装包),然后将 Vim 安装路径添加到 Path系统环境变量 中,例如我这里的安装路径为:D:\software\Vim\vim92,之后就可以在 PowerShell 中使用 Vim 了

3.2 在PowerShell终端使用 treee

默认情况下我们是可以使用 tree 命令的,但是系统自带的 tree 命令不好用,比如我们需要忽略某一文件

 tree -I node_module
 ​
 # 提示参数太多
 Too many parameters - node_module

我们可以安装 treee

 # 全局安装
 npm install -g tree-node-cli
 ​
 # 忽略 node_modules
 treee -I node_module

3.3 解决PowerShell终端中文乱码

来源:配置解决Powershell输出中文乱码

在 PowerShell 的配置文件(vim $PROFILE)中追加如下内容:

# set powershell fileencoding UTF8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
# set Get-Content(cat) fileencoding UTF8
$PSDefaultParameterValues['Get-Content:Encoding'] = 'UTF8'

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区