WezTerm 主题定制三步走:配色、字体、背景一次配好
【免费下载链接】weztermA GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust项目地址: https://gitcode.com/GitHub_Trending/we/wezterm
终端还是默认黑底白字?配色刺眼,字体发虚?WezTerm 主题定制 10 分钟就能全改掉:Lua 配置里改几行,配色、字体、背景换成你喜欢的样子。下面按三步走带你上手。
第一步:WezTerm 最小配置,先跑起来
先让终端看起来顺眼。WezTerm 主题定制就放在一个 Lua 文件里。运行wezterm start -- vim ~/.wezterm.lua打开它,写入:
local wezterm = require 'wezterm' local config = {} config.font_size = 14 config.font = wezterm.font('JetBrains Mono') config.color_scheme = 'Tokyo Night Storm' return config重点看三行。font_size是字号,14 号大多数人看着舒服。font定字体。color_scheme直接挑内置方案,内置有几百套可翻。保存后终端立刻换色,无需重启。
🎨 三件套之一:WezTerm 配色怎么选
结果:颜色不再是出厂默认,16 个颜色全由你指定。
默认配色不满意?自己填一张颜色表。这里把正文改成蓝灰色,背景压成深蓝:
config.colors = { fg_color = '#c0caf5', bg_color = '#1a1b26', cursor_bg = '#7aa2f7', ansi = { '#1a1b26', '#f7768e', '#9ece6a', '#e0af68', '#7aa2f7', '#bb9af7', '#7dcfff', '#a9b1d6', }, }前两行是前景色和背景色,第三行把光标变成蓝色块。ansi是程序输出的 8 个颜色,顺序为黑、红、绿、黄、蓝、紫、青、白。
保存后整屏是低饱和的蓝色调,长时间看代码眼睛不累。
三件套之二:WezTerm 字体设置
结果:=>、!=这类符号会合成连字,emoji 不再显示成方块。
字体可以填一个列表,后面的是回退字体:
config.font = wezterm.font_with_fallback({ 'JetBrains Mono', 'Noto Color Emoji', }) config.harfbuzz_features = { 'calt=1' }第一行是主力字体,第二行负责 emoji 兜底。calt=1这一行打开连字功能,没有它符号不会合并。
代码符号更圆,emoji 也是彩色渲染。
三件套之三:WezTerm 背景效果
结果:背景不再是一块死色,而是带渐变和颗粒感。
只需一个字段就能上渐变:
config.window_background_gradient = { orientation = 'Radial', colors = { '#101018', '#1a1b26', '#2b3050' }, noise = 8, }orientation是渐变方向,Radial 是从中心向四周的径向渐变。colors给三个色,由暗到亮混合。noise在背景上加细噪点,去掉纯色的塑料感。
中心亮、四角暗,像一束光照在终端上。
让主题自己工作:先跟随系统,再自动轮换
结果:你不用再手动切主题,白天跟着系统走亮色,夜间自动切深色,也可以每次开窗口自己换一个。
先跟随系统。wezterm.gui.get_appearance()会返回 'Dark' 或 'Light':
local function pick(scheme) if scheme:find('Dark') then return 'Tokyo Night Storm' end return 'One Light (base16)' end wezterm.on('window-config-reloaded', function(window, pane) window:set_config_overrides({ color_scheme = pick(wezterm.gui.get_appearance()), }) end)window-config-reloaded回调在窗口配置加载时触发,set_config_overrides把选中的主题应用到当前窗口。
跟随系统嫌被动?换成随机轮换:
local themes = { 'Catppuccin Mocha', 'Dracula', 'Nord (base16)' } wezterm.on('window-config-reloaded', function(window, pane) if not window:get_config_overrides() then window:set_config_overrides({ color_scheme = themes[math.random(#themes)], }) end end)math.random从列表里随机挑一个,每开一个新窗口都不一样。if判断防止覆盖你手动改过的主题。
你得到了什么
- 一套配色、字体、背景都顺眼的终端,看代码不费劲。
- 主题跟着系统昼夜自动切换,不用再手动改。
- 所有改动集中在一个 Lua 文件里,改坏了一行就能回滚。
接下来可以试
- 把轮换列表加到 5 套,每周都能见到新主题
font_size按 0.5 的幅度微调,找到你屏幕上的最佳值- 渐变方向改成
orientation = 'LinearLeftToRight',看横向的观感 - 到 官方文档 里翻 WezTerm 配色与外观配置条目,照着改
【免费下载链接】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),仅供参考