WezTerm 配置 10 分钟上手:换主题、调渐变背景、搭多窗格布局
【免费下载链接】weztermA GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust项目地址: https://gitcode.com/GitHub_Trending/we/wezterm
WezTerm 是一款用 Rust 编写、GPU 加速渲染的跨平台终端模拟器与多路复用器,支持 24 位真彩、彩色表情符号和字体回退。它的配置全部集中在一个 Lua 文件里,保存后自动热重载,改完立即生效。本文按"先看到什么、再常用什么"的顺序,讲清主题切换、背景设置和多窗格布局这三件事。
找到配置文件,确认热重载生效
配置文件的位置很简单:
- Linux / macOS:
~/.wezterm.lua - Windows:
%USERPROFILE%\.wezterm.lua
没有现成文件就新建一个。热重载默认开启,编辑保存后窗口内直接变化,不用重启终端。文件查找逻辑见 docs/config/files.md。
如果要从源码构建,可以这样开始:
git clone https://gitcode.com/GitHub_Trending/we/wezterm cd wezterm cargo build --release一行配置切换色彩方案
WezTerm 内置了数量庞大的色彩方案库,Dracula、Batman、Solarized 这些常见主题都在里面。切主题只需改一行:
local wezterm = require 'wezterm' local config = wezterm.config_builder() config.color_scheme = 'Dracula' return config不确定有哪些可选值时,可以在配置文件里用wezterm.get_builtin_color_schemes()拿到全部内置方案列表。如果内置的都不满意,再手动覆写个别颜色:
config.colors = { foreground = '#c5c8c6', cursor_bg = '#52ad70', }其余字段不动,只改这两项即可。
🌗 跟随系统外观,自动换深浅色主题
不想手动切主题的话,可以让终端跟随系统深色/浅色模式。在配置里根据当前外观选方案:
function scheme_for_appearance(appearance) if appearance:find 'Dark' then return 'Dracula' end return 'Solarized (Light)' end config.color_scheme = scheme_for_appearance(wezterm.gui.get_appearance())窗口运行时读取外观用window:get_appearance(),API 说明见 window:get_appearance。
背景:图片压暗处理,或直接上渐变
纯色背景太素,花哨的壁纸又干扰阅读,WezTerm 给了两条路。
图片背景:先用 HSB 压暗
把图片路径赋给window_background_image,再用window_background_image_hsb把亮度降下来:
config.window_background_image = '/path/to/wallpaper.jpg' config.window_background_image_hsb = { brightness = 0.3 }注意 HSB 三个值是乘数:brightness = 0.3表示把亮度降到原来的 30%,不是设成 30% 灰。细节见 window_background_image_hsb 文档。
渐变背景:效果更稳定
不想依赖图片文件时,直接用window_background_gradient动态生成背景。配置优先级上,渐变一旦设置,window_background_image就会被忽略:
config.window_background_gradient = { orientation = 'Vertical', colors = { '#0f0c29', '#302b63', '#24243e' }, blend = 'Rgb', noise = 64, }noise用来打破渐变条带,preset = 'Warm'之类的预设可以直接替代colors。完整字段说明在 window_background_gradient 文档。
垂直方向的渐变效果:
径向渐变则适合做"聚光灯"式的中心聚焦:
多窗格布局:4 个默认快捷键加一处调暗
多路复用是 WezTerm 的基本盘,默认快捷键如下:
Ctrl-Shift-Alt-%:垂直分割Ctrl-Shift-Alt-":水平分割Ctrl-Shift-方向键:在窗格间移动焦点Super-T:新建标签页(Super-N新建窗口)
窗格多了以后容易视觉混乱,WezTerm 会默认把非活动窗格的文字调暗一点(默认亮度 0.8、饱和度 0.9)。想拉开更明显的主次对比,把降暗幅度加大即可:
config.inactive_pane_hsb = { saturation = 0.7, brightness = 0.6 }这个处理的价值在于:一眼就能看出当前焦点在哪个窗格,不用看边框。
按项目自动换主题:配置重载事件
不同项目想要不同外观时,用window-config-reloaded事件监听,读取当前窗格的工作目录再决定主题:
wezterm.on('window-config-reloaded', function(window, pane) local cwd = pane:get_current_working_dir() if cwd:find 'personal-blog' then window:set_config_overrides({ color_scheme = 'GitHub Dark' }) elseif cwd:find 'data-visualization' then window:set_config_overrides({ color_scheme = 'Solarized Light' }) end end)事件参数、触发时机和回调注意事项见 window-config-reloaded 文档。
⚠️ 常见坑:三处容易配错
- 渐变和图片同时配:设了
window_background_gradient后,window_background_image静默失效,不会报错。两者只留一个。 - HSB 当成绝对值:
brightness = 0.3是"降到 30%",写成0.8只压掉两成亮度,画面还是偏亮。 - 重载事件里无条件覆盖配置:在
window-config-reloaded回调里调用window:set_config_overrides会再次触发同一个事件,写死条件容易死循环。只在需要变更值时才调用。
上手顺序建议
先定一个顺眼的color_scheme,再压暗一张背景图或铺一个渐变,最后用inactive_pane_hsb拉开窗格主次。每一步都只有几行 Lua,改完保存立刻生效。功能全貌可以参考 docs/features.md,外观相关配置集中在 docs/config/appearance.md。
【免费下载链接】weztermA GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust项目地址: https://gitcode.com/GitHub_Trending/we/wezterm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考