WezTerm 是一个使用 Rust 编写、支持 GPU 加速和 Lua 配置的跨平台终端模拟器。本文介绍的不是 WezTerm 默认配置,而是基于 KevinSilvester/wezterm-config 调整后的 Windows 配置。它将 PowerShell 7 作为默认 Shell,同时接入 Windows PowerShell、Command Prompt、Git Bash 和 Ubuntu WSL,并提供背景图片、状态栏、标签页状态、多窗格操作以及一套以 Alt 为核心的快捷键。

本文以当前实际安装环境为准:

项目 当前配置
操作系统 Windows
WezTerm 20260729-115229-46a166d6
配置来源 KevinSilvester/wezterm-config,提交 052853e
配置目录 C:\Users\li'xiao\.config\wezterm
默认 Shell PowerShell 7
WSL Ubuntu,用户 lixiao,登录 Shell 为 Bash
Git Bash E:\Git\bin\bash.exe
字体 JetBrainsMono Nerd Font

如果在其他计算机上使用本文,Shell 路径、WSL 发行版名称和用户名必须按照实际环境修改,不能原样复制。

一、先理解 WezTerm 的工作模型

1. Window、Tab 与 Pane

WezTerm 的界面可以分为三层:

1
2
3
4
Window(窗口)
└── Tab(标签页)
├── Pane(窗格)
└── Pane(窗格)
  • Window 是一个独立的 Windows 桌面窗口。
  • Tab 是窗口顶部的标签页,一个窗口可以包含多个 Tab。
  • Pane 是 Tab 内部的终端区域,一个 Tab 可以继续拆分为多个 Pane。

这三个概念对应三组不同操作。例如,Alt+N 新建 Window,Alt+T 新建 Tab,Alt+\ 拆分 Pane。关闭 Pane 和关闭 Tab 也使用不同快捷键。

2. Shell、Domain 与 Launcher

Shell 是 Pane 中实际运行的命令解释器,例如 PowerShell 7 或 Bash。Domain 则描述 Shell 在哪里运行:

  • DefaultDomain 表示 Windows 本地环境;
  • wsl:ubuntu-bash 表示 Ubuntu WSL 环境;
  • 配置还可以扩展 SSH Domain 和 Unix Domain。

Domain 不只是启动命令的别名。WezTerm 可以借助 Domain 和 Shell Integration 跟踪当前工作目录,使同一 Domain 中创建的新 Tab 或 Pane 更容易延续原环境。

Launcher 是统一的启动入口。当前配置既可以通过 F3 打开 WezTerm 内置 Launcher,也可以右键单击标签栏的 + 按钮,打开根据本机 Shell 和 Domain 生成的自定义菜单。

二、配置目录与模块结构

WezTerm 会在 Windows 用户目录中查找配置。当前配置入口为:

1
C:\Users\li'xiao\.config\wezterm\wezterm.lua

官方文档允许复杂配置放在 $HOME/.config/wezterm/wezterm.lua,因此不需要再创建 %USERPROFILE%\.wezterm.lua。当前目录的主要结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.config/wezterm/
├── wezterm.lua
├── backdrops/ # 背景图片
├── colors/
│ └── custom.lua # 配色
├── config/
│ ├── appearance.lua # 渲染、窗口、标签栏和背景
│ ├── bindings.lua # 键盘与鼠标绑定
│ ├── domains.lua # WSL、SSH 和 Unix Domain
│ ├── fonts.lua # 字体
│ ├── general.lua # 通用行为
│ └── launch.lua # 默认 Shell 与启动菜单
├── events/
│ ├── gui-startup.lua # 启动时最大化
│ ├── left-status.lua # 左侧按键状态
│ ├── new-tab-button.lua # “+”按钮右键菜单
│ ├── right-status.lua # 时间与电池状态
│ └── tab-title.lua # 标签标题与任务进度
└── utils/ # 背景、GPU、单元格等辅助模块

入口文件先扫描 backdrops 目录并随机选择一张图片,再注册界面事件,最后依次合并外观、快捷键、Domain、字体、通用行为和启动配置。

配置启用了:

1
automatically_reload_config = true

保存 Lua 文件后,WezTerm 会自动重新加载大多数配置。由于本配置同时设置了 disable_default_key_bindings = true,WezTerm 的默认快捷键已被整体禁用,官方默认的 Ctrl+Shift+R 不能被假定为仍然有效。通常只需保存文件并等待自动加载;如果出现错误,可以使用后文的命令行验证方法。

三、启动后的界面行为

1. 默认启动 PowerShell 7

Windows 本地默认程序为:

1
2
3
4
default_prog = {
'C:\\Program Files\\PowerShell\\7\\pwsh.exe',
'-NoLogo',
}

因此直接启动 WezTerm 时会进入 PowerShell 7,而不是传统的 Windows PowerShell。-NoLogo 只关闭启动横幅,不会跳过 PowerShell Profile。

2. 窗口自动最大化

gui-startup 事件会创建窗口并立即执行最大化。它与 F11 全屏不同:

  • 最大化仍然保留系统窗口边界和任务栏行为;
  • 全屏F11 切换,终端会占用整个屏幕。

3. 字体、配色与 GPU

当前字体为中等字重的 JetBrainsMono Nerd Font,Windows 字号为 9.75。Nerd Font 不只是外观选择,状态栏、标签页和启动菜单中的图标也依赖其扩展字形。字体缺失时,普通文字可能回退到内置字体,但图标可能显示为方框。

配色以 Catppuccin Mocha 为基础进行了调整。渲染配置为:

1
2
3
max_fps = 120
front_end = 'WebGpu'
webgpu_power_preference = 'HighPerformance'

GPU 选择器会枚举本机适配器并优先使用性能更高的组合。该设置适合高刷新率显示器,但会增加一定的 GPU 使用率。遇到黑屏、闪烁、驱动兼容问题时,可以临时将 config/appearance.lua 中的 front_end 改为 OpenGL,保存后重新验证。

4. 标签栏与状态栏

标签栏始终显示,即使当前只有一个 Tab。每个标签最多使用 23 列宽度,并根据运行环境显示:

  • 当前进程和终端标题;
  • WSL、管理员终端、调试面板、选择器等状态图标;
  • 后台任务的进度或错误状态;
  • 非活动 Tab 中尚未查看的输出数量。

右侧状态栏每秒更新一次,显示星期、时间和电池状态;没有电池的桌面设备只显示时间。左侧状态栏平时为空,在 Leader 键或 Key Table 激活时显示当前按键模式,便于判断后续按键会由哪一组规则处理。

四、快捷键记忆规则

这套配置没有沿用 WezTerm 默认快捷键,而是定义了两个跨平台修饰键:

配置名称 Windows/Linux macOS 本文写法
SUPER Alt Command Alt
SUPER_REV Alt+Ctrl Command+Ctrl Alt+Ctrl

Windows 下可以先记住以下规律:

  • Alt:直接操作当前窗口、Tab 或 Pane;
  • Alt+Ctrl:反向操作、移动操作或进入 WSL;
  • Alt+Ctrl+Space:Leader 键,用于进入持续的尺寸调整模式。

Leader 键自身的等待时间为 1 秒。按下 Alt+Ctrl+Space 后,需要在 1 秒内继续按 FP。进入对应 Key Table 后,每次有效按键都会重新计算 1 秒超时。

五、启动器、命令面板与常用入口

快捷键或操作 功能
F1 进入 Copy Mode
F2 打开 Command Palette
F3 打开完整 Launcher
F4 只显示当前窗口中的 Tab
F5 只显示 Workspace
F11 切换全屏
F12 打开 Debug Overlay
左键单击 + 按默认行为新建 Tab
右键单击 + 打开自定义 Shell/Domain 选择器

当前自定义启动菜单包含:

1
2
3
4
5
PowerShell 7
Windows PowerShell
Command Prompt
Git Bash
wsl:ubuntu-bash

在 Launcher 或选择器中,可以直接输入文字过滤,使用方向键选择,按 Enter 确认,按 Esc 取消。F2 的 Command Palette 适合查找没有分配固定快捷键的 WezTerm 动作;F12 则主要用于检查运行时日志、配置错误和事件输出。

六、Window 与 Tab 操作

1. Window

快捷键 功能
Alt+N 新建 WezTerm Window
Alt+Ctrl+Enter 最大化当前 Window
F11 切换全屏

配置中还保留了使用 Alt+-Alt+= 缩放窗口外部尺寸的代码,但它在 Windows 上会直接返回,不执行任何操作。这是为了规避 Windows 全屏状态判断异常导致的界面冻结。因此在当前环境中,不应把这两个按键当作可用的窗口缩放功能。

2. 创建与关闭 Tab

快捷键 功能
Alt+T 在 Windows 本地 Default Domain 中新建 Tab,运行 PowerShell 7
Alt+Ctrl+T wsl:ubuntu-bash Domain 中新建 Ubuntu Bash Tab
Alt+Ctrl+W 关闭当前 Tab,不再二次确认

关闭动作设置了 confirm = false,误按后不会弹出确认框。关闭运行着编辑器、编译任务或远程会话的 Tab 前,应先确认任务状态。

3. 切换与移动 Tab

快捷键 功能
Alt+[ 激活左侧 Tab
Alt+] 激活右侧 Tab
Alt+Ctrl+[ 将当前 Tab 向左移动
Alt+Ctrl+] 将当前 Tab 向右移动
F4 通过列表选择 Tab

方括号快捷键适合相邻 Tab,F4 更适合 Tab 较多、标题明确的场景。

4. 重命名与隐藏标签栏

快捷键 功能
Alt+0 输入并锁定当前 Tab 名称
Alt+Ctrl+0 取消手工名称,恢复动态标题
Alt+9 显示或隐藏标签栏

手工标题适合为长时间运行的工作区命名,例如 BlogBackendWSL Build。恢复动态标题后,标签页会重新根据前台进程和终端标题生成名称。

七、Pane 分屏工作流

1. 创建分屏

快捷键 结果
Alt+\ 上下分屏,新 Pane 位于下方
Alt+Ctrl+\ 左右分屏,新 Pane 位于右侧

这里最容易产生误解:WezTerm 的 SplitVertical 表示沿垂直方向把空间分成上下两部分,而 SplitHorizontal 表示沿水平方向分成左右两部分。两个动作都使用 CurrentPaneDomain,因此:

  • 从 PowerShell Pane 分屏,新 Pane 继续运行 PowerShell;
  • 从 Ubuntu WSL Pane 分屏,新 Pane 继续留在 WSL Domain。

2. 在 Pane 之间移动

方向键采用 Vim 的 H/J/K/L 习惯:

快捷键 焦点方向
Alt+Ctrl+H
Alt+Ctrl+J
Alt+Ctrl+K
Alt+Ctrl+L

这些按键移动的是输入焦点,不会改变 Pane 的位置。

3. 放大、关闭与交换 Pane

快捷键 功能
Alt+Enter 放大当前 Pane;再次按下恢复布局
Alt+W 关闭当前 Pane,不再二次确认
Alt+Ctrl+P 给所有 Pane 显示数字,选择一个与当前 Pane 交换位置

Alt+Ctrl+P 使用 SwapWithActiveKeepFocus 模式。输入目标 Pane 上的数字后,两个 Pane 交换位置,焦点仍跟随原来的活动 Pane。按 Esc 可以退出而不交换。

4. 调整 Pane 大小

先按:

1
Alt+Ctrl+Space

再按:

1
P

左侧状态栏出现 RESIZE_PANE 后,可以连续使用:

Key Table 按键 功能
H 向左调整 1 个单元格
J 向下调整 1 个单元格
K 向上调整 1 个单元格
L 向右调整 1 个单元格
QEsc 退出

Key Table 会在最后一次有效按键 1 秒后自动退出,因此需要连续调整时可以按住或重复相应方向键。

八、字体、背景与阅读模式

1. 调整字体大小

依次按下:

1
Alt+Ctrl+Space → F

进入 RESIZE_FONT 后使用:

Key Table 按键 功能
K 增大字体
J 减小字体
R 恢复配置字号 9.75
QEsc 退出

这里调整的是终端字体,而不是 Window 的物理宽高。配置关闭了“改变字体时同步改变窗口尺寸”的行为,因此字体放大后可见的行列数量会减少,窗口外部大小保持不变。

2. 背景图片

快捷键 功能
Alt+/ 随机选择一张背景
Alt+, 切换到上一张背景
Alt+. 切换到下一张背景
Alt+Ctrl+/ 打开模糊搜索,指定背景图片
Alt+B 在背景图片与纯色专注模式之间切换

背景图片来自:

1
C:\Users\li'xiao\.config\wezterm\backdrops

扫描规则支持 jpgjpegpnggifbmpicotiffpnmddstga。添加图片后保存任意配置文件或重新启动 WezTerm,即可重新扫描。

不要将 backdrops 目录清空。当前入口文件在扫描后会立即调用 random();如果图片数量为零,随机选择过程可能导致配置加载失败。若准备彻底移除背景功能,应同时修改 wezterm.luaconfig/appearance.lua,而不只是删除图片。

纯色专注模式只对当前 Window 应用运行时覆盖,不会删除图片。它适合投屏、阅读大量日志或希望提高文字对比度的场景。

九、搜索、滚动、复制与链接

1. 终端内容搜索

Alt+F 打开不区分大小写的搜索模式,输入关键字后浏览匹配结果,按 Esc 退出。该功能搜索的是当前 Pane 的可见内容和 Scrollback,而不是磁盘上的文件。

当前 Scrollback 上限为:

1
scrollback_lines = 20000

较长的构建日志可以在终端中回看,但不能将 Scrollback 当作永久日志文件。需要保留完整输出时,应由命令本身写入日志。

2. 滚动

快捷键 功能
Alt+U 向上滚动 5 行
Alt+D 向下滚动 5 行
PageUp 向上滚动约 0.75 页
PageDown 向下滚动约 0.75 页

3. 直接复制与粘贴

快捷键 功能
Ctrl+Shift+C 复制当前选区到系统剪贴板
Ctrl+Shift+V 从系统剪贴板粘贴

配置关闭了默认按键绑定,因此应以这两个显式绑定为准。

4. Copy Mode

F1 进入 Copy Mode。它允许完全通过键盘在 Scrollback 中移动和选择文本,常用按键如下:

按键 功能
H/J/K/L 或方向键 移动光标
WBE 按单词向前、向后或移动到词尾
0 / $ 行首 / 行尾
g / Shift+G Scrollback 顶部 / 底部
V 按字符选择
Shift+V 按整行选择
Ctrl+V 矩形块选择
O 切换到选区另一端
Y 复制选区并退出
QEscCtrl+C 不复制并退出

一个完整操作示例:

1
2
3
4
5
F1                  进入 Copy Mode
K / J 找到目标行
V 开始字符选择
W / L / J 扩展选区
Y 复制并退出

5. 打开 URL

配置提供两种方式:

  • 按住 Ctrl 并左键单击鼠标下方的链接;
  • Alt+Ctrl+U,让 WezTerm 在当前 Pane 中识别 URL,选择后用系统默认程序打开。

链接规则可以识别普通 URL、圆括号、方括号、花括号和尖括号中的 URL,也可以将电子邮件地址识别为 mailto: 链接。

打开链接会调用系统关联程序。对于终端输出中的陌生域名、带令牌的 URL 或来自不可信命令的内容,应先检查目标地址,避免直接打开。

十、光标辅助与特殊输入

快捷键 功能
Alt+LeftArrow 向 Shell 发送行首控制序列
Alt+RightArrow 向 Shell 发送行尾控制序列
Alt+Backspace 发送 Ctrl+U,尝试清空当前输入行
Ctrl+Shift+N 输入
Ctrl+Shift+S 输入

前三项通过 SendString 向前台程序发送控制序列,其效果取决于 Shell 或终端程序是否解释该序列。Alt+Backspace 在 Bash 中通常可以清空行,但在 PowerShell 或 Command Prompt 中不一定生效。

Ctrl+Shift+NCtrl+Shift+S 是原仓库保留的特殊字符输入绑定。它们不是“新建窗口”和“保存”,使用带有这类通用快捷键的终端应用时需要留意冲突;如果没有输入这两个字符的需求,可以从 config/bindings.lua 中删除对应两行。

十一、三种典型工作流

1. Windows 与 WSL 并行开发

1
2
3
4
5
启动 WezTerm
→ 默认进入 PowerShell 7
→ Alt+Ctrl+T 新建 Ubuntu WSL Tab
→ Alt+[ / Alt+] 在两个环境之间切换
→ Alt+0 分别命名为 Windows 与 WSL

适合在 PowerShell 中运行 Windows 工具,同时在 WSL 中执行 Linux 构建、包管理或脚本。

2. 单个 Tab 内运行服务与日志

1
2
3
4
5
Alt+\              上下分屏
Alt+Ctrl+\ 再将活动区域左右分屏
Alt+Ctrl+H/J/K/L 切换焦点
Leader → P 调整各 Pane 大小
Alt+Enter 临时放大当前 Pane

可以将编辑器、开发服务器和测试日志放在同一个 Tab 中。因为分屏继承当前 Domain,从 WSL Pane 创建的新 Pane 不会意外回到 Windows。

3. 长日志定位与复制

1
2
3
4
5
Alt+F       搜索错误关键字
F1 进入 Copy Mode
V 开始选择
Y 复制并退出
Alt+Ctrl+U 如果输出包含文档或 Issue URL,选择并打开

搜索负责定位,Copy Mode 负责精确选择,两者比反复拖动鼠标更适合长 Scrollback。

十二、修改本机 Shell 与 WSL 配置

1. 修改默认 Shell

编辑:

1
C:\Users\li'xiao\.config\wezterm\config\launch.lua

Windows 部分当前使用绝对路径,以避免 PATH 差异:

1
2
3
4
options.default_prog = {
'C:\\Program Files\\PowerShell\\7\\pwsh.exe',
'-NoLogo',
}

若 PowerShell、Git 或其他 Shell 安装到不同位置,应先使用 PowerShell 查找实际路径:

1
2
Get-Command pwsh
Get-Command git

修改 launch_menu 时,只应保留本机存在的程序。无效路径通常不会阻止 WezTerm 主配置加载,但对应菜单项会启动失败。

2. 修改 WSL Domain

编辑:

1
C:\Users\li'xiao\.config\wezterm\config\domains.lua

当前定义为:

1
2
3
4
5
6
7
{
name = 'wsl:ubuntu-bash',
distribution = 'Ubuntu',
username = 'lixiao',
default_cwd = '/home/lixiao',
default_prog = { 'bash', '-l' },
}

修改前先检查:

1
2
wsl --list --verbose
wsl -d Ubuntu -- sh -lc 'id -un; printf "%s\n" "$HOME"'

distribution 必须与 wsl --list --verbose 中的名称一致。若修改了 Domain 的 name,还必须同步修改 config/bindings.luaAlt+Ctrl+T 对应的 DomainName,否则按键会引用不存在的 Domain。

3. 修改字体

编辑 config/fonts.lua 中的:

1
local font_family = 'JetBrainsMono Nerd Font'

修改前可以列出 WezTerm 实际识别的字体:

1
wezterm ls-fonts --list-system

验证指定字体和字形:

1
wezterm ls-fonts --text 'ABC → λ 终端'

输出中应显示目标字体的文件路径。中文通常由系统中文字体回退渲染,这是正常行为;Nerd Font 主要负责拉丁字符、编程符号和图标。

十三、配置验证与故障排查

1. Lua 配置加载失败

在 PowerShell 中运行:

1
2
$config = "$env:USERPROFILE\.config\wezterm\wezterm.lua"
wezterm --config-file $config show-keys

成功时会输出当前有效快捷键;语法错误、模块加载失败或无效配置项会直接显示错误。WezTerm 官方文档说明,当前版本遇到配置解析错误时会显示错误并使用内置默认配置,因此“窗口仍能打开”并不能证明自定义配置已经生效。

如果图形界面可以打开,也可以按 F12 检查 Debug Overlay。

2. Nerd Font 图标显示为方框

检查字体解析:

1
2
wezterm --config-file "$env:USERPROFILE\.config\wezterm\wezterm.lua" `
ls-fonts --text 'ABC '

如果出现 Unable to load a font,说明字体名称与系统注册名称不一致,或者字体尚未安装。安装后应完全退出并重新启动旧的 WezTerm 进程,再次验证。

3. Alt+Ctrl+T 无法打开 WSL

依次检查:

1
2
wsl --list --verbose
wsl -d Ubuntu -- bash -lc 'id -un; echo "$HOME"'

然后核对:

  • domains.lua 中的 distribution 是否为 Ubuntu
  • username 是否为 lixiao
  • default_cwd 是否为 /home/lixiao
  • bindings.lua 中的 DomainName 是否为 wsl:ubuntu-bash

发行版尚未完成首次初始化时,应先直接运行一次:

1
wsl -d Ubuntu

按照 WSL 提示创建 Linux 用户后,再使用 WezTerm Domain。

4. 背景切换报错

先确认目录中至少有一张受支持的图片:

1
Get-ChildItem "$env:USERPROFILE\.config\wezterm\backdrops"

图片扩展名不在扫描规则内、目录为空或图片损坏,都可能导致背景功能异常。可以先恢复仓库自带图片,再通过 F12 查看具体日志。

5. WebGpu 黑屏或闪烁

先在 config/appearance.lua 中将:

1
front_end = 'WebGpu'

临时改为:

1
front_end = 'OpenGL'

保存后重新运行配置验证。若 OpenGL 正常,问题通常与 WebGPU 后端、显卡驱动或适配器选择有关。不要在没有记录原值的情况下同时修改多个 GPU 选项,否则难以定位是哪一项产生影响。

6. 查看当前所有有效快捷键

1
wezterm --config-file "$env:USERPROFILE\.config\wezterm\wezterm.lua" show-keys

查看可复制为 Lua 的按键表:

1
2
wezterm --config-file "$env:USERPROFILE\.config\wezterm\wezterm.lua" `
show-keys --lua

这两条命令反映的是当前 WezTerm 版本和当前配置合并后的结果,比只阅读 README 更可靠。

十四、更新配置仓库

当前配置目录本身是一个 Git 仓库,但 launch.luadomains.luabindings.lua 包含本机定制。直接执行 git pull 可能与上游修改冲突。

更新前先查看状态和上游差异:

1
2
3
4
5
6
Set-Location "$env:USERPROFILE\.config\wezterm"
git status
git diff
git fetch origin
git log --oneline HEAD..origin/master
git diff HEAD..origin/master

建议先将本机修改提交到独立分支:

1
2
3
git switch -c local/windows
git add config/launch.lua config/domains.lua config/bindings.lua
git commit -m "config: adapt shells and WSL for local Windows environment"

以后更新时可以在确认工作区干净后执行:

1
2
git fetch origin
git rebase origin/master

Rebase 可能在上游也修改同一配置文件时暂停。应根据当前机器的 Shell、路径和 WSL 用户解决冲突,再运行 show-keys 和字体检查。不要用 git reset --hard 处理普通更新冲突,因为它会直接丢弃尚未保存的本机配置。

如果不准备维护 Git 历史,至少应在更新前复制以下三个文件到配置目录之外:

1
2
3
config/launch.lua
config/domains.lua
config/bindings.lua

十五、快捷键速查

1. 通用、Window 与 Tab

快捷键 功能
F1 Copy Mode
F2 Command Palette
F3 完整 Launcher
F4 Tab Launcher
F5 Workspace Launcher
F11 全屏
F12 Debug Overlay
Alt+N 新建 Window
Alt+T 新建 PowerShell 7 Tab
Alt+Ctrl+T 新建 Ubuntu WSL Tab
Alt+Ctrl+W 关闭 Tab
Alt+[ / Alt+] 切换 Tab
Alt+Ctrl+[ / Alt+Ctrl+] 移动 Tab
Alt+0 / Alt+Ctrl+0 设置 / 重置 Tab 标题
Alt+9 显示 / 隐藏标签栏

2. Pane

快捷键 功能
Alt+\ 上下分屏
Alt+Ctrl+\ 左右分屏
Alt+Enter 放大 / 恢复 Pane
Alt+W 关闭 Pane
Alt+Ctrl+H/J/K/L 切换 Pane
Alt+Ctrl+P 交换 Pane
Leader → P → H/J/K/L 调整 Pane 大小

3. 文本与外观

快捷键 功能
Ctrl+Shift+C/V 复制 / 粘贴
Alt+F 搜索终端内容
Alt+U/D 上 / 下滚动 5 行
PageUp/PageDown 按页滚动
Alt+Ctrl+U 选择并打开 URL
Ctrl+左键 打开鼠标下方的链接
Leader → F → K/J/R 放大 / 缩小 / 重置字体
Alt+/ 随机背景
Alt+, / Alt+. 上一张 / 下一张背景
Alt+Ctrl+/ 搜索背景
Alt+B 切换纯色专注模式

十六、总结

这套配置的核心不是单纯改变终端外观,而是建立一套统一的工作模型:

1
2
3
4
5
6
7
PowerShell 7 作为 Windows 默认环境

├── Alt+T:本地 Tab
├── Alt+Ctrl+T:Ubuntu WSL Tab
├── Alt+\:在当前 Domain 内分屏
├── F1:键盘复制与 Scrollback 导航
└── Leader:进入持续的字体或 Pane 调整模式

第一次使用时,优先掌握 F2F3Alt+TAlt+Ctrl+T、两种分屏、Alt+Ctrl+H/J/K/LF1。熟悉这些入口后,再逐步使用 Tab 重命名、背景选择、URL 快速打开和 Key Table。

配置文件是可执行的 Lua 代码,本机路径、Domain 名称和快捷键之间存在引用关系。修改时应一次只调整一个模块,保存后立即运行 show-keys 或打开 F12 验证。这样既能保留上游配置的完整功能,也能让 PowerShell、Git Bash 和 WSL 始终与当前机器的真实环境一致。


参考资料

[1] KevinSilvester/wezterm-config

[2] WezTerm 官方文档:Configuration

[3] WezTerm 官方文档:Key Binding

[4] WezTerm 官方文档:KeyAssignment

[5] WezTerm 官方文档:Copy Mode

[6] WezTerm 官方文档:WslDomain

[7] WezTerm 官方文档:InputSelector

[8] WezTerm 官方文档:ActivateKeyTable

[9] WezTerm 官方文档:SplitVertical

[10] WezTerm 官方文档:PaneSelect