# wezterm
**Repository Path**: Hunter-Zack/wezterm
## Basic Information
- **Project Name**: wezterm
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-25
- **Last Updated**: 2026-03-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# WezTerm 配置
基于 Rust 的 GPU 加速跨平台终端 · WebGPU 渲染 · 60 FPS
## 核心特性
**外观**
- 🎨 Catppuccin Mocha 配色 + 动态背景切换
- 📊 双侧状态栏(时间/电池/Leader 模式指示)
- 🖼️ 半透明背景(96% 不透明度)+ 集成标题栏
**交互**
- ⌨️ 完全自定义快捷键(禁用默认,从零构建)
- 🎯 Leader 键模式(字体/窗格调整)
- 🔗 智能 URL 提取(支持多种括号格式)
- 🚀 F6 快捷命令菜单(代理/更新)
**架构**
- 🔧 模块化配置(config/events/utils 分离)
- 🌐 跨平台适配(Windows/macOS/Linux)
- 🐧 WSL/SSH 域集成
- ✨ 启动自动最大化窗口
## 快速开始
### 安装
```bash
# 1. 安装 WezTerm
# 从 https://github.com/wezterm/wezterm/releases 下载
# 2. 安装字体(必需 Nerd Font 支持图标)
# JetBrainsMono Nerd Font: https://github.com/ryanoasis/nerd-fonts/releases
# 鸿蒙黑体(可选,中文显示)
# 3. 部署配置
# Windows
git clone %USERPROFILE%\.config\wezterm
# Linux/macOS
git clone ~/.config/wezterm
```
### 首次配置
**切换 Shell(Windows)**
按 `F3` 可选择不同 Shell:
- **PowerShell** - Windows 默认
- **Git Bash** - 推荐用于包管理工具(npm/pip/opencode 等)
- **Anaconda PowerShell** - 已激活 conda base 环境的 PowerShell,适合 Python 开发
- **CMD** - 传统命令提示符
> 提示:某些工具(如 opencode)在 Git Bash 中更新更稳定。Anaconda PowerShell 会自动激活 conda base 环境。
**修改 WSL 配置**(如果使用 WSL)
编辑 `config/domains.lua`:
```lua
wsl_domains = {
{
name = 'WSL:Ubuntu',
distribution = 'Ubuntu', -- 你的 WSL 发行版名称
username = 'your-username', -- wsl whoami
default_cwd = '/home/your-username',
default_prog = { 'bash', '-l' }, -- 或 'fish', 'zsh'
},
},
```
**添加 SSH 连接**(可选)
在 `config/domains.lua` 中添加:
```lua
ssh_domains = {
{
name = 'MyServer',
remote_address = '192.168.1.100',
username = 'root',
},
},
```
**自定义背景**
将图片放入 `backdrops/` 目录(支持 jpg/png/gif),建议:
- 数量:10-30 张
- 单张大小:1-2MB
- 总大小:20MB 以内
## 配置结构
```
wezterm/
├── wezterm.lua # 主入口(加载所有模块)
├── config/ # 配置模块
│ ├── init.lua # Config 类(合并配置)
│ ├── appearance.lua # 外观(WebGPU/配色/背景/标签栏)
│ ├── bindings.lua # 快捷键(完全自定义)
│ ├── domains.lua # WSL/SSH/Unix 域
│ ├── fonts.lua # 字体(JetBrains Mono + 鸿蒙黑体)
│ ├── general.lua # 通用(滚动/超链接/行为)
│ └── launch.lua # 启动(默认 shell/启动菜单)
├── events/ # 事件处理
│ ├── left-status.lua # 左状态栏(Leader/KeyTable 指示)
│ ├── right-status.lua # 右状态栏(时间/电池)
│ ├── tab-title.lua # 标签页标题
│ └── new-tab-button.lua # 新标签按钮
├── utils/ # 工具函数
│ ├── backdrops.lua # 背景管理(切换/随机)
│ ├── platform.lua # 平台检测
│ ├── gpu_adapter.lua # GPU 适配器选择
│ └── math.lua # 数学工具
├── colors/
│ └── custom.lua # Catppuccin Mocha 配色
├── backdrops/ # 背景图片目录
├── KEYBINDINGS.md # 快捷键文档
├── README.md # 项目说明
├── LICENSE # 许可证
└── .gitignore # Git 忽略规则
```
## 快捷键
> 完整快捷键说明:[KEYBINDINGS.md](./KEYBINDINGS.md)
### 核心快捷键
| 类别 | 快捷键 | 功能 |
| ---------- | ------------------ | --------------------- |
| **功能键** | `F2` | 命令面板 |
| | `F3` | 启动器(WSL/SSH) |
| | `F6` | 快捷命令(代理/更新) |
| **标签页** | `Alt+Enter` | 新建标签页 |
| | `Alt+W` | 关闭标签页 |
| | `Alt+H/L` | 切换标签页 |
| **窗格** | `Alt+\` | 垂直分割 |
| | `Alt+Ctrl+\` | 水平分割 |
| | `Alt+Ctrl+H/J/K/L` | Vim 风格导航 |
| **背景** | `Alt+/` | 随机切换 |
| | `Alt+,` / `Alt+.` | 上一张/下一张 |
| **其他** | `Alt+U` | 智能提取 URL |
| | `Alt+F` | 搜索 |
### Leader 键模式
按 `Alt+Ctrl+Space` 激活 Leader 模式:
- `Leader + F` → 字体调整模式(K/J 放大缩小,R 重置)
- `Leader + P` → 窗格调整模式(H/J/K/L 调整大小)
### F6 快捷命令
- **Set Proxy (Windows)** - PowerShell 临时代理设置
> `$env:http_proxy="http://127.0.0.1:2080"; $env:https_proxy="http://127.0.0.1:2080"`
- **Set Proxy (Linux)** - Bash/Zsh 临时代理设置
> `export http_proxy=http://127.0.0.1:2080; export https_proxy=http://127.0.0.1:2080`
- **Agent Update** - 更新 AI CLI 工具
> `claude update; opencode upgrade; npm upgrade -g @openai/codex; npm upgrade -g @google/gemini-cli`
## 使用技巧
### 域(Domains)使用
**访问 WSL**
- 按 `F3` → 选择 "WSL:Ubuntu"
- 或在启动菜单中选择
**连接 SSH**
- 配置 `config/domains.lua` 后
- 按 `F3` → 选择你的 SSH 服务器
- 自动保持连接,像本地标签页一样使用
**自动启动到 WSL**
在 `config/domains.lua` 中取消注释:
```lua
default_gui_startup_args = { 'connect', 'WSL:Ubuntu' },
```
### 背景管理
- `Alt+/` - 随机切换(适合每天换心情)
- `Alt+Ctrl+/` - 打开选择器(模糊搜索)
- `Alt+,` / `Alt+.` - 顺序切换
### Python 开发工作流
**使用 Anaconda PowerShell**:
- 按 `F3` → 选择 "Anaconda PowerShell"
- 自动激活 conda base 环境,无需手动执行 `conda activate`
- 支持 conda 包管理和虚拟环境操作
**快速环境切换**:
1. 新建标签页 → 按 `F3` → 选择 "Anaconda PowerShell"
2. 使用 conda 命令创建/切换环境:`conda create -n myenv python=3.11`
3. 激活环境:`conda activate myenv`
**多环境并行**:
- 每个标签页可以运行不同的 conda 环境
- 使用 `Alt+\` 垂直分割,左侧运行开发服务器,右侧运行测试
### 多任务工作流
**场景 1:开发 + 监控**
1. `Alt+\` 垂直分割
2. 上方运行开发服务器
3. 下方查看日志
**场景 2:多项目切换**
1. 每个项目一个标签页
2. `F4` 模糊搜索快速跳转
3. `Alt+H/L` 顺序切换
## 自定义配置
### 修改字体
编辑 `config/fonts.lua`:
```lua
font = wezterm.font_with_fallback({
'Your Font',
'Fallback Font',
}),
font_size = 12,
```
### 修改配色
编辑 `colors/custom.lua` 或使用内置主题:
```lua
-- config/appearance.lua
color_scheme = 'Catppuccin Mocha', -- 或其他主题
```
### 修改快捷键
编辑 `config/bindings.lua`,注意跨平台适配:
- Windows/Linux: `mod.SUPER` = `ALT`
- macOS: `mod.SUPER` = `SUPER` (Cmd)
### 修改 Shell 配置
编辑 `config/launch.lua` 调整启动菜单:
```lua
-- Windows 平台配置示例
if platform.is_win then
options.launch_menu = {
{ label = 'PowerShell', args = { 'powershell' } },
{ label = 'Git Bash', args = { 'C:\\Program Files\\Git\\bin\\bash.exe', '-l' } },
{ label = 'Anaconda PowerShell', args = { 'powershell', '-ExecutionPolicy', 'ByPass', '-NoExit', '-Command', "& 'C:\\ProgramData\\miniconda3\\shell\\condabin\\conda-hook.ps1' ; conda activate 'C:\\ProgramData\\miniconda3'" } },
{ label = 'CMD', args = { 'cmd' } },
}
end
```
> 提示:如果 Anaconda/Miniconda 安装在其他路径,修改 `C:\\ProgramData\\miniconda3` 为你的实际安装路径。
## 致谢
参考项目:
- [KevinSilvester/wezterm-config](https://github.com/KevinSilvester/wezterm-config)
- [vivy89/wezterm-config](https://github.com/vivy89/wezterm-config)
## 许可证
MIT License