Win11 下 WezTerm 配置 PowerShell 为默认终端完整指南
1. 为什么要在 Win11 上折腾 WezTerm 加 PowerShellWin11 自带的 Windows Terminal 其实已经不算难用但用久了总会碰到几个让人如鲠在喉的地方GPU 渲染在部分显卡驱动下偶发闪烁、配置同步依赖微软账号、跨平台一致性一般。我前后换过 Tabby、Fluent Terminal、Alacritty 这些终端工具最后稳定在 WezTerm 上核心原因就三个Rust 写的 GPU 加速渲染足够跟手、配置文件是纯 Lua 脚本所以可编程性极强、Windows / macOS / Linux 三端配置几乎可以原样复用。WezTerm 在 Win11 下的定位很明确——它是一个终端模拟器不是 Shell。Shell 负责解释你敲的命令终端负责把字符画到屏幕上。所以“配置 PowerShell 为默认终端”这件事本质上是让 WezTerm 启动时自动拉起 PowerShell而不是默认的 cmd 或 WSL。这个区分很关键很多新手把终端和 Shell 混为一谈配置时就会找不到方向。这篇文章适合三类人看一是刚从 Windows Terminal 迁移过来、想让 WezTerm 直接接管 PowerShell 的二是已经装了 WezTerm 但每次还要手动敲pwsh切换的三是对终端颜值有要求、想把 WezTerm 主题和 PowerShell 提示符风格统一起来的。我会把配置逻辑、参数选择、踩过的坑全部摊开讲你照着抄基本能一次跑通。提示本文所有操作基于 Windows 11 23H2 及以上版本、WezTerm 20240203 之后的稳定版、PowerShell 7.4.x。如果你还在用 PowerShell 5.1部分语法会不兼容后面会单独说明。2. 环境准备与核心组件选型2.1 WezTerm 的安装方式怎么选WezTerm 在 Windows 上有三种主流安装途径我实测下来的推荐顺序是winget 优先MSI 次之便携版最后。winget 安装最省事一条命令搞定而且后续升级直接winget upgrade就行winget install wez.weztermMSI 安装包适合公司电脑没有 winget 或者被组策略限制的情况去 GitHub Releases 页面下载.msi双击即可。便携版portable我不太推荐日常用因为它的配置文件路径会跟着 exe 走一旦你移动了文件夹之前配好的主题、字体全部失效排查起来很烦。安装完成后在 PowerShell 里敲wezterm --version能输出版本号就说明 PATH 已经配好了。如果提示找不到命令大概率是安装时没勾选“添加到 PATH”重新跑一遍安装程序勾上即可。2.2 PowerShell 版本的选择逻辑Win11 自带的是 Windows PowerShell 5.1路径在C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe。而微软现在主推的是 PowerShell 7.x可执行文件叫pwsh.exe两者是并存关系不是替换关系。我强烈建议用 PowerShell 7理由很实在跨平台、启动更快、支持和||命令链运算符、JSON 处理更规范、模块加载机制更清晰。5.1 是基于 .NET Framework 的老架构很多新模块已经不再适配它了。安装 PowerShell 7 同样走 wingetwinget install Microsoft.PowerShell装完后pwsh --version应该输出PowerShell 7.4.x。这里有个细节要注意PowerShell 7 的配置文件路径和 5.1 是分开的。5.1 的 profile 在Documents\WindowsPowerShell\7.x 的在Documents\PowerShell\。你之前如果在 5.1 里配过别名、函数迁移到 7 时需要手动复制过去否则会感觉“怎么配置都不生效”。2.3 字体与图标字体的前置准备终端颜值的一半靠字体。WezTerm 支持连字ligature但前提是你装的字体本身带连字特性。我常用的是JetBrainsMono Nerd Font它同时解决了两个问题代码连字和图标字形Nerd Font 补丁。下载后解压全选字体文件右键“为所有用户安装”。装完后在 WezTerm 里配置字体名时要注意名字必须和系统里显示的完全一致比如JetBrainsMono Nerd Font而不是JetBrains Mono。写错了不会报错只会静默回退到默认字体然后你就会疑惑为什么图标全是方块。3. WezTerm 配置文件的结构与加载机制3.1 配置文件到底放在哪WezTerm 的配置文件叫wezterm.lua默认查找路径是%USERPROFILE%\.wezterm.lua也就是C:\Users\你的用户名\.wezterm.lua。注意这个文件是隐藏文件以点开头在资源管理器里默认看不到需要开启“显示隐藏文件”。如果你不想放在用户目录根下也可以放到%USERPROFILE%\.config\wezterm\wezterm.luaWezTerm 会按优先级依次查找。我个人的习惯是放在.config目录下这样用户根目录不会太乱。验证配置是否被加载最简单的办法是在配置文件里故意写一个语法错误然后启动 WezTerm如果弹出错误提示就说明文件被读到了。或者用wezterm --config-file显式指定路径来测试。3.2 Lua 配置的基本骨架WezTerm 的配置就是一个返回 table 的 Lua 脚本最简结构长这样local wezterm require wezterm local config wezterm.config_builder() config.font wezterm.font(JetBrainsMono Nerd Font) config.font_size 11.0 return config这里config_builder()是官方推荐的写法它会帮你做参数校验比直接构造 table 更安全。如果你看到网上有些老教程直接local config {}那也能跑但缺少校验写错参数名不会提示。3.3 配置热重载的开启WezTerm 默认就支持配置热重载——你保存wezterm.lua的瞬间所有已打开的窗口会自动应用新配置。这个特性在调主题颜色时特别爽不用反复关开窗口。但有个坑热重载只对配置文件生效对字体安装、PATH 变更这类系统级改动无效。比如你新装了一个字体必须在配置文件里引用后保存WezTerm 才会去重新扫描字体列表。如果还是找不到就得完全退出 WezTerm包括托盘图标再启动。4. 把 PowerShell 设为默认启动 Shell 的完整实现4.1 核心配置项 default_prog 的写法让 WezTerm 启动时直接拉起 PowerShell靠的是default_prog这个配置项。它接收一个数组第一个元素是可执行文件路径后面是参数。config.default_prog { pwsh.exe, -NoLogo }-NoLogo的作用是跳过 PowerShell 启动时那段版权声明让终端一打开就是干净的提示符。如果你用的是 5.1把pwsh.exe换成powershell.exe即可。这里有个非常关键的细节default_prog里的路径如果是相对路径WezTerm 会去 PATH 里找。但如果你装了多个版本的 PowerShellPATH 顺序可能导致拉起的不是你想要的版本。稳妥做法是写绝对路径config.default_prog { C:/Program Files/PowerShell/7/pwsh.exe, -NoLogo }注意 Lua 字符串里路径用正斜杠/或者双反斜杠\\单反斜杠会被当成转义字符。4.2 启动参数的选择与取舍除了-NoLogo还有几个参数值得考虑参数作用是否推荐-NoLogo跳过版权信息推荐-NoProfile不加载 profile 脚本不推荐会丢失你的别名和函数-ExecutionPolicy Bypass绕过脚本执行策略谨慎按需-WorkingDirectory指定启动目录按需我一般只用-NoLogo。-NoProfile看似能让启动快几十毫秒但代价是你精心配置的 profile 全部失效得不偿失。至于执行策略如果你只是日常用不需要在启动参数里绕过真有脚本要跑时临时处理即可。4.3 多 Shell 快速切换的配置虽然默认是 PowerShell但有时候还是要开个 WSL 或者 cmd。WezTerm 支持用快捷键启动不同的程序。我通常配CtrlShiftP开 PowerShell、CtrlShiftW开 WSLconfig.keys { { key p, mods CTRL, action wezterm.action.SpawnCommandInNewTab { args { pwsh.exe, -NoLogo }, }, }, { key w, mods CTRL, action wezterm.action.SpawnCommandInNewTab { args { wsl.exe, ~ }, }, }, }这样默认标签页是 PowerShell需要时一键切到别的环境比改配置文件重启快得多。5. 主题同步让 WezTerm 和 PowerShell 视觉统一5.1 WezTerm 内置配色方案的调用WezTerm 内置了几百套配色方案用wezterm show-keys --lua或者直接查官方文档能列出全部名字。配置方式config.color_scheme Catppuccin Mocha我试过一圈下来Catppuccin Mocha、Tokyo Night、Dracula这三套在长时间盯屏时眼睛最舒服。Catppuccin 的对比度控制得比较克制不会像纯黑底配纯白字那样刺眼。如果你想要更精细的控制可以不用预设方案直接手写颜色config.colors { foreground #cdd6f4, background #1e1e2e, cursor_bg #f5e0dc, ansi { ... }, }但手写容易翻车尤其是 ansi 那 16 个颜色配不好会出现某些命令输出看不清的情况。建议先用预设方案实在不满意再微调。5.2 PowerShell 提示符主题的同步WezTerm 换了主题但 PowerShell 提示符还是默认的PS C:\Users\xxx视觉上就割裂了。解决办法是装Oh My Posh它能把提示符渲染成带图标、带 Git 状态、带路径缩写的样式。安装winget install JanDeDobbeleer.OhMyPosh然后在 PowerShell 的 profile 里初始化。先找到 profile 路径$PROFILE用记事本或 VS Code 打开这个文件加入oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\catppuccin_mocha.omp.json | Invoke-Expressioncatppuccin_mocha.omp.json这个主题名要和 WezTerm 的Catppuccin Mocha对应这样两边的配色就统一了。Oh My Posh 自带几十套主题用Get-PoshThemes可以预览全部。5.3 图标显示异常的排查Oh My Posh 主题里大量使用 Nerd Font 图标如果字体没配对你会看到一堆方块或者问号。排查顺序是这样的确认 WezTerm 配置里font用的是 Nerd Font 版本确认字体已经“为所有用户安装”而不是只装到当前用户在 PowerShell 里跑oh-my-posh font install可以自动装推荐字体完全退出 WezTerm 再启动让字体缓存刷新我踩过最坑的一次是字体装了但 WezTerm 没重启折腾了半小时才发现是缓存问题。所以记住改字体配置后热重载不够必须完全重启。6. 常见问题与排查技巧实录6.1 启动后还是 cmd 或 WSL 怎么办最常见的原因是default_prog没生效。排查步骤确认配置文件路径正确用wezterm --config-file显式指定测试确认default_prog写在return config之前确认没有其他地方覆盖了这个配置比如某些插件检查pwsh.exe是否真的在 PATH 里用where.exe pwsh验证如果以上都没问题可能是 WezTerm 读到了另一个配置文件。用wezterm ls-fonts之类的命令看不出配置来源但可以在配置文件开头加一句wezterm.log_error(config loaded)然后看日志确认。6.2 中文显示乱码或宽度异常PowerShell 默认输出编码在 Win11 上一般是 UTF-8但某些老程序会输出 GBK。WezTerm 本身对 UTF-8 支持很好乱码通常来自 Shell 端。在 PowerShell profile 里加上[Console]::OutputEncoding [System.Text.Encoding]::UTF8 $OutputEncoding [System.Text.Encoding]::UTF8中文宽度异常比如对齐错位通常是字体问题。有些 Nerd Font 对 CJK 字符的宽度定义不标准换成Sarasa Term SC这类专门处理中文的字体可以解决。6.3 快捷键冲突与自定义WezTerm 默认的快捷键和很多编辑器冲突比如CtrlShiftP在 VS Code 里是命令面板。我的做法是尽量用CtrlShiftAlt三键组合冲突概率低很多。改键位时注意mods的写法多个修饰键用|连接mods CTRL | SHIFT | ALT另外 WezTerm 有个Leader键的概念默认是CtrlShiftSpace按下后再按其他键触发动作。这个机制适合把不常用的操作藏起来避免占用太多直接快捷键。6.4 性能相关的注意事项WezTerm 默认开启 GPU 加速但在某些核显驱动下会出现画面撕裂。如果遇到可以在配置里关掉config.front_end WebGpu或者退回软件渲染config.front_end Software软件渲染会明显增加 CPU 占用但兼容性最好。我一般只在虚拟机里才这么干。7. 我个人的实操心得与后续扩展配置这套东西我前后折腾了大概两个周末最大的体会是不要一次性把所有配置都写完。WezTerm 的配置项有几百个你不可能一次搞对。我的做法是先让 PowerShell 能正常启动再调字体再调主题最后加 Oh My Posh。每加一层就重启验证一次出问题容易定位。另一个心得是关于配置备份。wezterm.lua和 PowerShell 的$PROFILE这两个文件建议直接放进 Git 仓库管理。换电脑或者重装系统时clone 下来改一下路径就能用比手动重配省太多时间。后续如果想让终端更顺手可以往这几个方向扩展一是用 WezTerm 的 multiplexing 功能做会话保持断线重连不丢状态二是把常用命令封装成 PowerShell 函数配合 Oh My Posh 的自定义 segment 显示三是研究 WezTerm 的wezterm.action_callback把一些重复操作做成快捷键。这些内容展开又是另一篇了先把基础打牢再说。

相关新闻

Docker部署go2rtc:打造多协议摄像头统一流媒体平台

Docker部署go2rtc:打造多协议摄像头统一流媒体平台

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 23:36:51 阅读更多 →
学生公寓智能用电管理系统落地指南:从采集协议到违规识别

学生公寓智能用电管理系统落地指南:从采集协议到违规识别

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 18:41:24 阅读更多 →
企业级App广告变现渠道选型指南:从指标、避坑到组合策略

企业级App广告变现渠道选型指南:从指标、避坑到组合策略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 18:27:48 阅读更多 →

最新新闻

ppt汇报模板源码解析:3个高频考点帮你避开面试坑

ppt汇报模板源码解析:3个高频考点帮你避开面试坑

ppt汇报模板源码解析:3个高频考点帮你避开面试坑 别被官方文档里那几万字吓退,抓不住重点才是真痛点。今天直接上 源码解析 ,把PPT汇报模板里最容易被问倒的3个技术点拆给你看。 考点梳理:面试官到底在考什么…

2026/9/22 3:10:52 阅读更多 →
3个实战项目教你搞定睡眠分期性能瓶颈

3个实战项目教你搞定睡眠分期性能瓶颈

3个实战项目教你搞定睡眠分期性能瓶颈 版本升级后 API 全变了,导致原本跑得飞快的睡眠分期脚本直接崩盘,这种痛感相信做过后端优化的老手都懂。我在三个实战项目里反复踩坑,发现很多性能问题根本不是代码逻辑写错了,而是底层数据处理逻辑没跟上库版…

2026/9/22 3:10:52 阅读更多 →
面试必问清空redis:别再傻用FLUSHALL了

面试必问清空redis:别再傻用FLUSHALL了

面试必问清空redis:别再傻用FLUSHALL了 配置环境就卡半天?我信你个鬼。 很多后端同学在准备面试时,或者在生产环境搞数据迁移时,总觉得自己对 Redis 很熟,结果一问到“如何清空…

2026/9/22 3:10:52 阅读更多 →
3个坑避过:一文搞懂jiang core升级痛点

3个坑避过:一文搞懂jiang core升级痛点

3个坑避过:一文搞懂jiang core升级痛点 版本升级后 API 全变了,代码跑不动?别慌。 很多老鸟在重构项目时,面对 jiang core 这类底层库的变动,第一反应往往是“查文档”。…

2026/9/22 3:10:52 阅读更多 →
思科考试时间全流程解析与自动化监控完整示例

思科考试时间全流程解析与自动化监控完整示例

思科考试时间全流程解析与自动化监控完整示例 刚背完命令,打开终端却不知从何下手搭项目?这种“眼高手低”的尴尬,在准备思科认证或相关网络运维工作时太常见了。很多同行卡住,不是代码写不对,而是缺乏一个能跑通的 完整示例 来串联理论。特别是盯着…

2026/9/22 3:10:51 阅读更多 →
酒醉酒醒源码深扒:3行代码看懂入门到精通

酒醉酒醒源码深扒:3行代码看懂入门到精通

酒醉酒醒源码深扒:3行代码看懂入门到精通 官方文档翻了三遍还是晕?别急,直接看源码。 很多开发者对“酒醉酒醒”这个概念感到困惑,觉得它只是文档里的一个名词。其实,这是一个典型的 状态机管理…

2026/9/22 3:09:51 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →