ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

WezTerm 定制指南:从最小 wezterm.lua 到渐变背景与自动换肤

WezTerm 定制指南:从最小 wezterm.lua 到渐变背景与自动换肤 WezTerm 定制指南从最小 wezterm.lua 到渐变背景与自动换肤【免费下载链接】weztermA GPU-accelerated cross-platform terminal emulator and multiplexer written by wez and implemented in Rust项目地址: https://gitcode.com/GitHub_Trending/we/wezterm本文以 WezTerm 终端模拟器的 WezTerm 配置为主线带你从零写出一份可用的 wezterm.lua预置配色、手调调色板、渐变背景与透明模糊、字体回退与连字、跟随系统明暗的主题切换和轮换都在这一次 WezTerm 定制里完成。第一份 wezterm.lua最小可运行配置与加载方式本节解决配置文件放哪、写了如何生效的问题先让终端跑起来。WezTerm 按固定顺序查找配置文件Linux 和 macOS 上是~/.wezterm.luaWindows 上是%USERPROFILE%\.wezterm.lua。新建文件后在任意终端执行wezterm ls-color-schemes | head有输出说明程序正常接下来就是往这份文件里填东西。修改配置后不用重启应用右键菜单里选Reload Config或执行wezterm cli reload-config。如果你跑过 mux 多路复用守护进程wezterm-mux-server它不会自动读新配置需要pkill wezterm-mux-serverLinux或任务管理器结束进程Windows后再开新窗口。下面是一份最小配置只声明三件事-- 最小可运行配置字体、字号、预置配色 local wezterm require wezterm return { font wezterm.font(JetBrains Mono), -- 缺省字体 font_size 12.5, -- 支持小数 color_scheme Catppuccin Mocha, -- 内置方案按名称引用 }配色30 秒选预置方案 / 3 分钟手调调色板本节解决终端颜色从哪来、怎么定的问题。用 wezterm ls-color-schemes 挑一套内置配色内置方案有 1000 多个不用背名字。终端里执行# 列出内置方案配合 grep 过滤能快速缩小范围 wezterm ls-color-schemes | grep -iE catppuccin|tokyo|dracula在配置里填名字即可-- 常用起步方案任选其一替换 color_scheme 的值 local wezterm require wezterm return { color_scheme Tokyo Night Storm, -- 想同时看几个效果就换名字重载一次 }仓库自带的方案数据在 docs/colorschemes/ 下的data.json可以按作者或别名检索。手调配色只写 colors 表覆盖光标与选中色预置方案不够用时用自己的colors表整体接管。下面的调色板是低饱和深色调光标和选区颜色单独处理-- 手写调色板先定背景和前景再处理光标与选中态 local wezterm require wezterm return { colors { background #11111b, -- 底色 foreground #cdd6f4, -- 正文 cursor_bg #f5e0dc, -- 光标用暖色与冷色背景形成对比 cursor_fg #11111b, cursor_border #f5e0dc, selection_bg #585b70, selection_fg #cdd6f4, ansi { #1e1e2e, #f38ba8, #a6e3a1, #f9e2af, #89b4fa, #f5c2e7, #94e2d5, #bac2de, }, brights { #45475a, #f38ba8, #a6e3a1, #f9e2af, #89b4fa, #f5c2e7, #94e2d5, #a6adc8, }, }, color_scheme_dirs { ~/.config/wezterm/schemes }, -- 自研方案放这里 }ansi和brights各 8 项对应ls、vim等工具输出的标准色顺序错了会出现红是绿的错乱对照 官方文档 里的 Color 定义核对一遍即可。背景径向渐变与窗口透明模糊本节解决纯色背景太死板的问题给窗口加上渐变和半透明层次。径向渐变径向渐变背景 线性渐变备选渐变用window_background_gradient一个字段控制orientation决定方向colors给 2 个以上颜色即可-- 径向渐变颜色从中心向边缘过渡 local wezterm require wezterm return { window_background_gradient { orientation { Radial {} }, -- 中心向外的扩散效果 colors { #181825, #1e1e2e, #313244 }, interpolation CatmullRom, -- 过渡更平滑 }, }想要方向感强的背景把orientation换成{ Linear { angle 115 } }角度以度为单位。窗口透明度与背景模糊透明度由两个字段分工window_background_opacity管整个窗口的透出程度text_background_opacity管文字区域的底色不透明度。文字区域保持完全不透明是保证可读性的关键-- 透明度与模糊文字区域保持不透明 local wezterm require wezterm return { window_background_opacity 0.85, -- 窗口整体 15% 透出 text_background_opacity 1.0, -- 文字底色不透 kde_background_blur true, -- Wayland 下的模糊开关 blur_strength 24, }模糊只在 Wayland 或 KDE 环境生效macOS、Windows 各有各自的毛玻璃机制Acrylic、Mica字段不同参考 外观配置文档。字体回退、连字与字号的动态调整本节解决特殊符号显示成方块、长窗口字太大的问题。回退字体排在主字体后面主字体缺字形时自动接管。仓库自带了 Noto Color Emoji 等字体路径见 assets/fonts/-- 字体三层配置回退、连字、随窗口调字号 local wezterm require wezterm local function pick_size(term) -- 窗口越大字号越小保证一屏信息量 if term.width 100 then return 13.0 end if term.width 140 then return 12.0 end return 11.0 end return { font wezterm.font_with_fallback({ JetBrains Mono, Noto Color Emoji, -- emoji 缺字形时的后备 }), font_size pick_size, -- font_size 支持函数 harfbuzz_features { liga1, clig1 }, -- 连字开关 }连字由harfbuzz_features控制liga管、-这类符号clig管局部连字。若你的字体本身不带连字字形开关开了也没效果先确认字体支持。自动化跟随系统明暗的主题切换与轮换本节解决主题靠手动改配置的问题让换肤发生在你无感的时刻。window-config-reloaded事件在窗口启动和每次重载配置时触发是挂动态主题的地方。下面先按系统外观选明暗主题再叠加随机轮换-- 跟随系统明暗 轮换两套主题 local wezterm require wezterm local ROTATION { Catppuccin Mocha, GruvboxDark, Dracula } local function theme_by_appearance() local ap wezterm.gui.get_appearance() or if ap:find(Dark) then return Catppuccin Mocha end if ap:find(Light) then return Catppuccin Latte end return ROTATION[1] end wezterm.on(window-config-reloaded, function(window) local scheme theme_by_appearance() local roll math.random(#ROTATION) if roll 1 then scheme ROTATION[1] end -- 固定一个入口便于对照 window:set_config_overrides({ color_scheme scheme }) end) return {}get_appearance()返回的字符串里含Dark/Light标记系统外观变化后会再次触发事件无需额外监听。若不想随机把事件体里直接写theme_by_appearance()的结果即可。4 个常见坑不生效、缺字形、无渐变、配色刺眼本节把前面配置最容易翻车的四个点集中排查。配置不生效。先确认文件位置对不对再确认改完重载过没有。还不对就查日志wezterm的日志默认写到~/.local/state/wezterm/wezterm.log各平台状态目录略有差异里面会打印实际加载的配置文件路径。字体缺字形。终端里执行wezterm ls-fonts输出里找不到你写的字体名就是没安装或名字不匹配注意空格和版本号差异。渐变不显示。常见原因是旧版本不渲染 GPU 加速的渐变或窗口走了 CPU 渲染回退。升级到新版本后在日志里确认render后端是 GPU 即可。配色刺眼。多数情况是对比度过高或ansi里放了高饱和纯色。把window_background_opacity降到 0.9 左右、把ansi中的亮色降一档饱和度通常就能缓解。排查细节可对照 故障排查文档。收尾与官方资源清单WezTerm 的视觉定制就这四件事配置入口、配色、背景、字体加上一个自动化钩子。改动时一次只动一个变量重载后看效果比一次改十条快得多。官方资源路径仓库内docs/config/完整配置项参考每个字段都有 Lua 示例docs/config/files.md配置文件查找顺序docs/troubleshooting.md日志位置与渲染问题排查docs/colorschemes/1000 内置配色方案数据【免费下载链接】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),仅供参考
返回列表