这可能是Windows下最适合Claude Code/Codex的终端了,真的夯!

Claude Code、Codex 这类 CLI 编程 Agent 越来越火,但在 Windows 上跑它们,体验经常差点意思。换了好几个终端之后,我最后停在 WezTerm 上------一个用 Rust 写的 GPU 加速终端模拟器 + 多路复用器,被不少人称作"Windows 上的 iTerm2 替代品"。今天和大家聊聊它的使用。

简介

WezTerm 由 Wez Furlong(@wez)开发,用 Rust 写的,GPU 加速,还是 MIT 开源,GitHub 上 28k+ Star,迭代一直挺活跃。

定位说白了:终端模拟器 + tmux 合体。复用、持久会话、远程连接全部内置,不用额外装任何软件。平台覆盖 Windows 10+、macOS、Linux、FreeBSD、NetBSD,跨平台行为一致------今天在公司 Windows 上调好的配置,回家 Mac 上原样能跑。

主要特性

特性 说明
GPU 加速渲染 true color、连字(ligatures)、彩色 Emoji、字体回退,渲染顺滑
内置多路复用 pane/tab/window 复用,会话持久化,类 tmux 但不需要 tmux
远程复用域 通过 SSH / TLS / Unix socket 连接远程 mux server,断线自动重连恢复会话
内置 SSH 客户端 原生 tab 式 SSH,还能自动读取 ~/.ssh/config
Lua 可编程配置 配置文件就是 Lua 脚本,支持热重载,可写逻辑、绑事件
终端图片协议 iTerm2 / Kitty / Sixel 全支持,终端里直接看图(内置 imgcat)

安装及配置

以 Windows 为例,其他平台官网都有对应方式。

  • 先去官网 wezterm.org/installatio... 下载 Windows 便携版 zip(注意Nightly才是最新版本),解压到任意目录。
  • 解压完成后,目录里文件不少,其中三个是主角:

    • wezterm-gui.exe:终端主程序,双击它就是启动终端;
    • wezterm.exe:CLI 入口,wezterm cli、wezterm connect 这些命令都走它;
    • wezterm-mux-server.exe:多路复用服务,会话持久化靠它。
  • 然后把解压目录加进用户环境变量 PATH,之后在任意终端里都能直接敲 wezterm。双击 wezterm-gui.exe 启动,首次进入看到的是一个干净的终端窗口:

  • Windows 下配置文件路径是 %USERPROFILE%\.wezterm.lua,不存在就新建一个,写上三行最小配置即可起步;保存即热重载,不用重启终端。后面所有案例,改的都是这一个文件。
lua 复制代码
local wezterm = require 'wezterm'
local config = wezterm.config_builder()

return config

这或许是一个对你有用的开源项目,mall项目是一套基于 SpringBoot3 + Vue3 的电商系统(Github标星60K),后端支持多模块和微服务架构,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!

项目演示:

使用

所有案例都只改 .wezterm.lua 这一个文件,保存即生效;每个案例 = 一小段配置 + 实测效果。

默认 Shell 换成 PowerShell

WezTerm 在 Windows 上默认拉起的是 cmd.exe,ls 这类 PowerShell 命令直接不认,从 Windows Terminal 迁移过来的人基本第一个踩的就是它。改法一行:

lua 复制代码
config.default_prog = { 'powershell.exe', '-NoLogo' }

系统自带 5.1 就用 powershell.exe,装过 PowerShell 7 的推荐换成 pwsh.exe,体验更好。保存之后新开的窗口和 tab 就是 PowerShell 了:

配置默认工作目录

新窗口默认落在 C:\Users\用户名,但我天天要进的是项目目录。还是一行配置:

lua 复制代码
config.default_cwd = 'D:\\developer\\workspace'

这里有个实踩的坑:Lua 字符串里反斜杠是转义符,写成 D:\developer\workspace 会直接报 invalid escape sequence,得用双反斜杠或者正斜杠 D:/developer/workspace。配好之后,开窗提示符直接就在工作目录:

省下每次开窗都要先 cd 一下,小配置大顺手。

Shift+Enter 映射换行

Claude Code 里 Shift+Enter 是换行。新版 WezTerm 对它有原生支持,如果你的版本里 Shift+Enter 还是直接提交,加一条键绑定把它映射成换行符:

lua 复制代码
config.keys = {
  { key = 'Enter', mods = 'SHIFT', action = wezterm.action.SendString '\n' },
}

配好换行键,多行提示词随便打:

顺带提一个输入坑:WezTerm 里粘贴是 Ctrl+Shift+V,Windows Terminal 用户习惯的 Ctrl+V 不生效。真想绑成 Ctrl+V 也能自定义,代价是 Ctrl+C/V 就发不进 TUI 程序了,自己权衡。

字体与配色

跑 Agent 的终端一盯就是半天,字体和配色值得花两分钟调:

lua 复制代码
config.font = wezterm.font('JetBrains Mono')
config.font_size = 14.0
config.color_scheme = 'Catppuccin Mocha'

WezTerm 内置 700 多款主题,官网 Color Schemes 页能逐款看预览图(如图是 Catppuccin Mocha),命令行里 wezterm ls-colors 也能列全。

不满意还可以用 config.colors 逐项覆盖,甚至用 Lua 判断系统深浅色自动切换主题------配置文件是完整的 Lua 脚本,这一点越用越香。换个主题前后对比:

mux 使用

先一句话讲清 mux 是什么:WezTerm 内置了一个自研多路复用器,终端里跑的进程归后台 mux server 管,不归窗口管,关窗等于 tmux 的 detach。这是它和普通终端模拟器拉开差距的地方;tmux 在 Windows 上只能跑在 WSL 里,而 mux 原生可用。

启用本地持久化只要两行配置:

lua 复制代码
config.unix_domains = { { name = 'unix' } }
config.default_gui_startup_args = { 'connect', 'unix' }

重启 WezTerm 后做个实测:输入如下提示词,给 Claude 派一个 60 秒的倒计时任务;它弹出工具调用时先批准,再继续后面的步骤:

dart 复制代码
请用 Bash 工具执行下面这条命令,等它完整跑完后再回复我"任务完成",不要提前回复:
powershell -NoLogo -Command '1..60 | ForEach-Object { Write-Host "tick $_"; Start-Sleep 1 }'

然后关闭WezTerm的窗口,这时候在外部 PowerShell 里跑 wezterm cli list,能看到 Claude 的 pane 还活着------进程没死,只是"没人看"了。

重新打开 WezTerm,会话原样恢复,任务已经自己跑完,Claude 回了"任务完成"。关窗那几十秒,它一秒都没停。

后台的 mux server 不会自己退,想停掉它可以用命令:taskkill /IM wezterm-mux-server.exe /F。

分屏并行

跑 Claude Code 的典型姿势是:一边让 Agent 干活,一边自己盯日志、跑测试。WezTerm 原生分屏,不用装 tmux,几个快捷键就能开出工作阵型:

操作 快捷键
左右分屏 Ctrl+Shift+Alt+%
上下分屏 Ctrl+Shift+Alt+"
在 pane 间跳转 Ctrl+Shift+方向键
调整 pane 大小 Ctrl+Shift+Alt+方向键
当前 pane 放大/还原 Ctrl+Shift+Z

实战布局:左 pane 跑 Claude Code,Ctrl+Shift+Alt+% 分出右 pane 盯 dev server 日志,这种左右两分是最高频的阵型(如图);需要同时跑测试时,回左 pane 再 Ctrl+Shift+Alt+" 在底部补一刀。Agent 输出长文时用 Ctrl+Shift+Z 把当前 pane 临时放大看完,再按一次还原;某个 pane 不用了,进去敲 exit 就关掉。

Windows Terminal 对比

先说公道话:Windows Terminal 是微软官方出品,系统集成好、开箱即用,日常够用,没什么毛病。但面向 AI Agent 这个场景,差异就出来了:

维度 Windows Terminal WezTerm
平台 Windows 独占 Windows / macOS / Linux 全平台
配置方式 settings.json + GUI Lua 脚本,可编程、热重载
会话复用 仅 tab/pane,关窗即丢 内置 multiplexer,会话持久化
远程会话 依赖外挂 ssh mux server 断线重连、恢复现场
终端图片 不支持 iTerm2 / Kitty / Sixel
字体渲染 系统原生渲染器 FreeType 全平台一致,连字支持好
启动残影清理 无默认快捷键,需手动清 Ctrl+Shift+K 一键清回滚缓冲区

一句话总结:Windows Terminal 胜在省心和系统集成;WezTerm 胜在复用、远程和可编程------而这三点,是跑 Claude Code/Codex 最需要的。

总结

WezTerm 把终端复用、会话持久化、可编程配置全部内置,正好补齐了 Claude Code/Codex 在 Windows 上的短板:换行顺手了、关窗会话不死了、分屏盯日志不用外挂 tmux 了。

当然也要说清楚取舍:它不像 Windows Terminal 那样开箱即用,得花点时间写 Lua 配置,中间还会踩几个小坑。但配置写一次能用好几年,换机器、换平台都能带着走,这笔账对重度用户来说是划算的。另外文中的配置和用法对 Codex CLI 等同类工具同样适用,换工具不用换终端。

在 Windows 上跑 AI 编程 Agent、觉得终端不顺手的朋友,不妨装上试试------用上一周,大概率就回不去了。

项目地址

github.com/wezterm/wez...

相关推荐
正经人_x2 小时前
学习日记59:PAVL
人工智能·学习·计算机视觉
还是奇怪2 小时前
GPT-6 Sol 与 Luna 发布后,选型还要确认什么?从官方参数到迁移验证
人工智能·gpt·openai
WindrunnerMax2 小时前
以轻量 LoopAgent 替代 RAG 实现文档检索
人工智能·架构·github
XMAIPC_Robot2 小时前
FPGA+ARM联合调试避坑:储能电力采样数据同步、丢包问题定位与根治方案,应用于储能EMS、微网控制器中
arm开发·人工智能·fpga开发·rk3588+fpga·rk3576+fpga
AI浩2 小时前
面向视觉预训练的对象级自蒸馏
人工智能·计算机视觉
天远Date Lab2 小时前
零信任架构实战:基于天远风控经营异常预警构建自动化商业园区租户巡检网关
大数据·人工智能·架构·自动化
是翎2 小时前
无障碍自动扫描:不只是一个分数
人工智能
临床数据科学和人工智能兴趣组2 小时前
自定义缩放范围在数据分析中的应用也不少,尤其是在处理特定类型的数据时
人工智能·数据挖掘·数据分析·r语言·r语言-4.2.1
郑州光合科技余经理2 小时前
出海外卖平台:支付对接为什么要和下单收款分开
android·java·开发语言·前端·后端·php·ai编程