yazi 终端文件管理器暗色主题配置指南:3 步定制你的终端配色
【免费下载链接】yazi💥 Blazing fast terminal file manager written in Rust, based on async I/O.项目地址: https://gitcode.com/GitHub_Trending/ya/yazi
yazi 是一款用 Rust 写的终端文件管理器,会按终端背景色自动加载 theme-dark.toml 或 theme-light.toml。盯了两小时代码,把终端背景调成深色,暗色主题即刻生效。
快速上手:暗色主题怎么开
yazi 启动时会探测终端是深是浅:深色背景就加载 yazi-config/preset/theme-dark.toml,浅色则加载 theme-light.toml。所以第一步不是改配置,而是把终端背景调暗——多数现代终端跟随系统深浅模式,切换后重开 yazi 即可。
还没装的话,先 clone 源码构建:
git clone https://link.gitcode.com/i/abc953847ff6ec141a538c4ec165289b cd yazi && cargo build --release把target/release/yazi放进 PATH,运行yazi即可。
暗色主题观感好在哪
整体亮度压得很低,边框是安静的灰色,长时间翻目录眼睛不容易酸。
活动状态一律用蓝色说话:当前标签、模式条、弹窗边框都是蓝底或蓝边,光标走到哪,焦点就在哪。
文件名按类型着色,扫一眼就能分清内容:
| 元素 | 颜色 | 用途 |
|---|---|---|
| 图片 | 黄色 | 快速定位素材 |
| 音视频 | 品红 | 媒体文件区分开 |
| 压缩包 | 红色 | zip、tar、7z 等 |
| 可执行文件 | 绿色 | 一眼看到脚本入口 |
| 目录 | 蓝色 | 兜底规则,结构更清晰 |
几个值得注意的配置参数
状态反馈集中在[mgr]区。复制、剪切、多选、选中各有独立标记色,互不混淆,操作完回头一找就能认出来:
[mgr] marker_copied = { fg = "lightgreen", bg = "lightgreen" } marker_cut = { fg = "lightred", bg = "lightred" } marker_marked = { fg = "lightcyan", bg = "lightcyan" } marker_selected = { fg = "lightyellow", bg = "lightyellow" }类型着色在[filetype]的rules里,每条规则按 mime 或文件属性匹配,最后用url = "*/"兜底:
[filetype] rules = [ { mime = "**/application/{zip,rar,7z*,tar,gzip,xz,zstd}", fg = "red" }, { url = "*", is = "exec", fg = "green" }, { url = "*/", fg = "blue" } ]前者管颜色归谁,后者管兜底——所有目录最终都是蓝色,视觉结构稳定。
改一行配置,换成你自己的主题
在~/.config/yazi/theme.toml里只写要改的部分,没写的键沿用预设值:
[tabs] active = { bg = "red", bold = true } [status] perm_exec = { fg = "green" }重启 yazi 即可生效。机制很简单:启动时你的 theme.toml 会整体覆盖到对应明暗预设之上,所以改一处、生效一处,不用复制整份配置文件。
容易踩的坑
暗色主题不生效怎么办
先确认终端背景真的是深色;浅色终端加载的是 theme-light.toml,改错文件就白忙了。
theme.toml 里写了什么键
键名、冒号、逗号有错时,yazi 启动会报错并停在原地等你按键,按提示修好再试。
syntect_theme 填了相对路径
[mgr]下的syntect_theme要么留空、要么给绝对路径,相对路径会被直接拒绝。
另外,暗色主题只跟随终端背景,不会按系统时间自动切换;白天切浅色终端就会加载浅色预设。
yazi 的暗色主题就三个词:低亮度背景、蓝色焦点、类型着色。想换风格,几行 toml 就够。更多键说明见仓库内 yazi-config/preset/theme-dark.toml,完整代码在 https://link.gitcode.com/i/abc953847ff6ec141a538c4ec165289b。
【免费下载链接】yazi💥 Blazing fast terminal file manager written in Rust, based on async I/O.项目地址: https://gitcode.com/GitHub_Trending/ya/yazi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考