终端工具的选择在很多人眼里是件小事,反正能敲命令就行。但真正每天在终端里泡几个小时的人都知道,一个趁手的终端模拟器能省下多少重复劳动。WezTerm 就是这两年讨论度很高的一款跨平台终端工具,用 Rust 写成,GPU 加速渲染,配置文件用 Lua 写,支持多路复用、标签页、分屏、字体连字、图片协议等一大堆特性。它解决的核心问题很直接:把终端从“能用的黑框”变成“可编程的工作台”。这篇内容面向的是刚接触 WezTerm 的新手,以及用了一段时间但还没把配置潜力挖出来的中级用户,我会从安装、配置结构、核心功能到进阶玩法完整走一遍,把我自己踩过的坑和调优经验都摊开讲。
1. 先搞清楚 WezTerm 到底解决什么问题
1.1 终端模拟器的本质与 WezTerm 的定位
很多人把终端和 Shell 混为一谈,其实这是两个东西。Shell 是解释命令的程序,比如 bash、zsh、fish;终端模拟器是承载 Shell 的那个窗口程序,负责渲染文字、处理键盘输入、管理颜色和字体。WezTerm 属于后者,它的定位是一个“可编程的终端复用器加模拟器”,这个定位很关键,因为它意味着它同时干了 tmux 和传统终端窗口的活。
传统组合是“终端窗口 + tmux”,终端负责显示,tmux 负责会话保持和分屏。WezTerm 把这两层合并了,内置了多路复用能力,你可以直接在一个窗口里开标签、分屏、甚至把会话挂到后台再重新接回来。这样做的好处是配置统一、快捷键统一、渲染一致,不用在两个工具之间来回切换心智模型。坏处是如果你已经深度依赖 tmux 的某些插件生态,迁移需要一点适应成本。
从技术实现看,WezTerm 用 Rust 编写,渲染走 GPU 加速,这意味着在滚动大量日志或者跑高刷新率内容时,它的流畅度明显好于一些老牌终端。配置文件用 Lua,这一点是它和很多终端最大的差异——Lua 是一门真正的编程语言,你可以写函数、做条件判断、循环生成配置,而不是被限制在某个固定的配置语法里。
1.2 哪些人适合用,哪些人可以先观望
适合的人群很明确:每天在终端里工作超过两小时、需要频繁分屏和多标签、对字体渲染和配色有要求、愿意花半小时折腾配置换取长期效率的人。尤其是跨平台用户,WezTerm 在 Windows、macOS、Linux 上行为基本一致,配置文件可以共用一份,这对多设备办公的人非常友好。
可以先观望的情况也得说清楚:如果你只是偶尔开个终端跑一两条命令,系统自带的终端完全够用,没必要为了折腾而折腾;如果你所在的团队有严格的工具规范,或者你重度依赖某个只在特定终端里工作的插件,迁移前要评估兼容性。另外 WezTerm 的配置是纯文本 Lua,没有图形化设置界面,所有改动都要写配置文件,这对不习惯编辑文本配置的人来说是个门槛——但这个门槛一旦跨过去,换来的是极高的自由度。
1.3 版本选择与安装渠道的取舍
安装渠道上,我建议优先用系统包管理器,其次用官方发布的安装包。macOS 上用 Homebrew 最省事,Linux 上各发行版的仓库一般都有,Windows 上可以用 winget 或者 scoop。这里有个经验:包管理器安装的版本更新可能滞后于官方发布,如果你需要最新特性,去官方发布页下载对应平台的安装包更稳妥。
版本选择上,尽量用稳定版而不是 nightly。WezTerm 的迭代速度不慢,nightly 版本偶尔会有配置项变动或者渲染回归,日常干活用的工具稳定优先。安装完成后第一件事是确认版本号,在终端里跑wezterm --version,记下版本,后面查文档和排查问题时对得上号很重要。
提示:安装后如果系统里同时存在多个终端,注意把 WezTerm 设为默认终端或者至少固定到任务栏/程序坞,避免每次都要找。默认终端的设置在各系统里位置不同,Windows 在系统设置的默认应用里改,macOS 和 Linux 更多是靠启动器习惯。
2. 配置文件的结构与第一份可用配置
2.1 配置文件放在哪,加载顺序是什么
WezTerm 的配置文件叫wezterm.lua,默认查找路径按优先级排列。跨平台通用的做法是放在用户主目录下,也就是~/.wezterm.lua或者~/.config/wezterm/wezterm.lua。Windows 上主目录是C:\Users\你的用户名\,macOS 和 Linux 是/Users/用户名/或/home/用户名/。我建议统一放在~/.config/wezterm/wezterm.lua,这样三个平台路径结构一致,配置文件可以直接同步。
加载顺序上,WezTerm 会先找环境变量指定的路径,再找标准路径。如果你不确定当前用的是哪个配置文件,可以在 WezTerm 里按默认的调试快捷键打开调试面板,或者直接在配置里加一行打印语句验证。这里有个小技巧:配置文件顶部加一句local wezterm = require 'wezterm',这是所有配置的起点,后面所有 API 都从这个模块拿。
配置文件是纯 Lua,意味着语法错误会导致加载失败。WezTerm 在配置出错时会在窗口里显示错误信息,不会直接崩溃,这一点做得比较友好。但错误信息有时候不够直观,尤其是嵌套表结构写错的时候,所以改配置要养成小步修改、及时验证的习惯。
2.2 一份能直接用的基础配置模板
下面这份配置是我自己用的精简版,覆盖了日常最需要的几项:字体、配色、窗口透明度、滚动缓冲、快捷键前缀。你可以直接复制过去改。
local wezterm = require 'wezterm' local config = wezterm.config_builder() config.font = wezterm.font('JetBrains Mono', { weight = 'Regular' }) config.font_size = 12.0 config.color_scheme = 'Catppuccin Mocha' config.window_background_opacity = 0.95 config.scrollback_lines = 10000 config.default_prog = { 'zsh', '-l' } config.leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1000 } return config逐项解释一下为什么这么设。字体选 JetBrains Mono 是因为它的连字支持好、字符区分度高,weight = 'Regular'显式指定避免系统回退到奇怪的字重。字号 12 是个折中值,高分屏上可以调到 13 到 14。配色用 Catppuccin Mocha 是因为它对比度适中,长时间看不累,WezTerm 内置了大量配色方案,用wezterm show-keys或者查文档能看到完整列表。窗口透明度 0.95 是轻微透明,既能透出一点背景又不影响可读性,低于 0.85 就开始费眼了。滚动缓冲 10000 行是给看日志留的余量,默认值偏小。default_prog指定默认启动的 Shell,这里用 zsh 登录模式。leader键设成 Ctrl+A,这是从 tmux 习惯迁移过来的,后面所有自定义快捷键都挂在这个前缀下。
注意:
config_builder()是较新版本推荐的写法,比直接操作wezterm.config_builder返回的表更安全,能避免一些共享状态的问题。如果你看的旧教程里直接写local config = {},也能跑,但建议跟上新写法。
2.3 配置热加载与验证方法
WezTerm 支持配置热加载,改完wezterm.lua保存后,新开的窗口会自动用新配置,已经开着的窗口需要手动重载。重载的默认快捷键是Ctrl+Shift+R,或者通过命令面板执行重载。这个机制很实用,调字体、调颜色的时候不用反复关开窗口。
验证配置是否生效,最直接的办法是看视觉变化,比如改个明显的颜色或者字号。如果改了没反应,先确认改的是不是当前加载的那个配置文件——这是新手最常犯的错,主目录下有一个旧文件,~/.config下又有一个新的,结果改错了地方。排查方法是在配置里临时加一句wezterm.log_info('config loaded from: ' .. ...),看日志输出。
另一个验证点是语法。Lua 的语法错误会在窗口顶部弹出错误条,点开能看到具体行号。表结构写错(比如少个逗号、括号不匹配)是最常见的,编辑器如果有 Lua 语法高亮和检查插件,能提前发现大部分问题。我习惯用支持 Lua 的编辑器写配置,配合格式化插件,能省不少排查时间。
3. 核心功能实操:分屏、标签与会话管理
3.1 标签页与分屏的快捷键体系
WezTerm 默认就带标签页和分屏,不需要额外装插件。默认快捷键里,新建标签是Ctrl+Shift+T,关闭标签是Ctrl+Shift+W,切换标签是Ctrl+Tab或者Ctrl+Shift+方向键。分屏方面,水平分屏默认是Ctrl+Shift+Alt+",垂直分屏是Ctrl+Shift+Alt+%,在分屏之间移动用Ctrl+Shift+方向键。
这套默认键位能用,但不够顺手,尤其是从 tmux 过来的人。我的做法是把所有窗格操作挂到 leader 键下,模仿 tmux 的键位:leader + |垂直分屏,leader + -水平分屏,leader + h/j/k/l在窗格间移动,leader + x关闭当前窗格。这样肌肉记忆可以直接迁移,不用重新学一套。
配置里加窗格快捷键的写法是这样的:
config.keys = { { key = '|', mods = 'LEADER|SHIFT', action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' } }, { key = '-', mods = 'LEADER', action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' } }, { key = 'h', mods = 'LEADER', action = wezterm.action.ActivatePaneDirection 'Left' }, { key = 'l', mods = 'LEADER', action = wezterm.action.ActivatePaneDirection 'Right' }, { key = 'k', mods = 'LEADER', action = wezterm.action.ActivatePaneDirection 'Up' }, { key = 'j', mods = 'LEADER', action = wezterm.action.ActivatePaneDirection 'Down' }, { key = 'x', mods = 'LEADER', action = wezterm.action.CloseCurrentPane { confirm = true } }, }这里mods = 'LEADER|SHIFT'的组合要注意,竖线符号在键盘上通常需要 Shift,所以要把 SHIFT 也带上,否则按键匹配不上。CloseCurrentPane加了confirm = true,防止误关正在跑任务的窗格,这个确认弹窗救过我好几次。
3.2 多路复用:把会话挂到后台再接回来
这是 WezTerm 区别于普通终端的关键能力。传统上你要保持一个长任务不中断,得靠 tmux 或者 nohup。WezTerm 内置了多路复用域的概念,可以把一个窗口的会话挂到后台,关掉窗口后任务继续跑,之后再用命令接回来。
操作路径是这样的:先在一个窗格里跑你的长任务,然后通过命令面板或者快捷键把这个窗格“分离”。分离后窗口可以关掉,任务在后台继续。要接回来的时候,新开一个 WezTerm 窗口,通过命令面板选择连接到已有的多路复用域,就能恢复之前的窗格布局和运行状态。
这个功能的价值在于省掉了 tmux 这一层。但要说清楚它的边界:WezTerm 的多路复用主要解决的是“本机会话保持”,如果你需要跨机器共享会话,那还是得靠专门的方案。另外分离和接回的操作在早期版本里体验一般,新版本改善了不少,建议用较新的稳定版。
提示:多路复用的域配置涉及
unix_domains或ssh_domains的写法,这部分配置相对复杂,新手可以先只用本机默认域,等熟悉了再扩展。配置域的时候注意路径权限,域套接字文件所在目录要可写。
3.3 命令面板:不记快捷键也能干活
WezTerm 有个命令面板,默认快捷键是Ctrl+Shift+P,打开后可以搜索所有可用操作,包括分屏、切标签、改配置、重载等。这个功能对新手特别友好,不用一开始就背一堆快捷键,需要什么搜什么,用多了自然记住。
命令面板里还能看到每个操作对应的默认快捷键,这其实是学习键位的好途径。我刚开始用的时候就是靠它慢慢摸清了哪些操作有现成快捷键、哪些需要自己配。面板支持模糊搜索,输入“split”就能看到所有分屏相关操作,输入“tab”就是标签相关。
一个实用技巧:命令面板里执行过的操作,如果发现常用但没有顺手的快捷键,可以直接去配置里给它绑一个。这样配置是随着使用习惯逐步长出来的,而不是一开始就抄一份别人的大而全配置——后者往往有一半键位你根本用不上,还占着按键组合。
4. 进阶配置:字体渲染、配色与性能调优
4.1 字体连字与回退链的配置细节
字体这块值得单独说,因为终端里看代码的舒适度很大程度取决于字体。WezTerm 支持字体连字(ligature),也就是把->、=>、!=这类符号渲染成单个连字符号。开启方法是在字体配置里加harfbuzz_features:
config.font = wezterm.font('JetBrains Mono', { weight = 'Regular', harfbuzz_features = { 'calt=1', 'clig=1', 'liga=1' }, })calt是上下文替代,clig是上下文连字,liga是标准连字,三个都开才能完整启用连字效果。这里有个坑:不是所有等宽字体都支持连字,选字体前要确认。JetBrains Mono、Fira Code、Cascadia Code 这几款支持得比较好。
字体回退链是另一个容易忽略的点。终端里经常要显示中文、emoji 或者特殊符号,主字体覆盖不到的时候需要回退到其他字体。WezTerm 支持配置字体回退,写法是用wezterm.font_with_fallback:
config.font = wezterm.font_with_fallback { { family = 'JetBrains Mono', weight = 'Regular' }, { family = 'Noto Sans CJK SC' }, { family = 'Noto Color Emoji' }, }顺序很重要,排在前面的优先。中文字体放在等宽字体后面,保证英文和代码用等宽渲染,中文用专门的中文字体,避免中文被强行拉成等宽导致字形难看。emoji 字体放最后兜底。这个配置在跨平台同步时要注意,不同系统上装的字体名可能不一样,需要按平台做条件判断。
4.2 配色方案的挑选与自定义
WezTerm 内置了几百种配色方案,通过color_scheme指定名字即可。挑配色不能只看好看,要考虑对比度和长时间阅读的舒适度。深色背景配浅色文字是主流,但纯黑背景配纯白文字对比度过高,看久了眼睛累,稍微柔和一点的背景色(比如深灰蓝)配略暗的文字更耐看。
如果内置方案都不满意,可以自定义。自定义配色需要定义前景色、背景色、光标色、选区色,以及 16 个 ANSI 颜色。这部分配置比较长,我的建议是先从内置方案里挑一个接近的,然后只改其中几个不顺眼的颜色,而不是从零写全套。改的时候注意保持对比度,尤其是注释色和普通文字色要有区分但不能太接近背景。
配色和主题的联动也值得一提。WezTerm 支持根据系统主题自动切换配色,配置里用config.color_scheme配合条件判断,或者用内置的自动切换机制。这样白天用浅色、晚上用深色,不用手动改。实现方式是在配置里读取系统主题状态,然后动态设置配色方案,具体 API 在不同版本里略有差异,建议查对应版本文档。
4.3 渲染性能与滚动缓冲的平衡
GPU 加速是 WezTerm 的卖点,但默认配置不一定是最优的。滚动缓冲设太大(比如几十万行)会占用内存,设太小又不够看日志。我的经验值是 10000 到 50000 行之间,看你的使用场景。跑构建日志、看长输出的话 50000 行比较稳妥,日常用 10000 行足够。
渲染相关的还有几个参数值得调。max_fps控制最大帧率,默认值对大多数场景够用,如果你在远程桌面或者虚拟机里用,适当降低能减少资源占用。animation_fps控制光标闪烁等动画的帧率,调低能省一点电。这些参数不是越大越好,找到适合自己设备的平衡点更重要。
还有一个容易被忽略的点是字体渲染的后端。不同平台上的字体渲染引擎不同,WezTerm 在配置里提供了相关选项。如果你发现字体发虚或者渲染异常,可以尝试调整渲染相关配置,或者换一个字体权重。这类问题往往和系统字体设置、显示器缩放比例有关,排查时先确认系统层面的缩放设置是否合理。
5. 常见问题排查与避坑经验
5.1 配置不生效与启动报错的排查路径
配置改了没反应,按这个顺序排查:第一,确认改的是当前加载的配置文件,用调试面板或者临时打印语句验证路径;第二,确认保存成功且没有语法错误,看窗口顶部有没有错误条;第三,确认是否需要手动重载,已开窗口不会自动应用新配置;第四,确认配置项名称拼写正确,WezTerm 的配置项命名有规律但偶尔有变动,跨版本升级后旧配置项可能失效。
启动直接报错打不开窗口,最常见的原因是配置文件有语法错误导致加载失败。这时候可以临时把配置文件改名或者移走,让 WezTerm 用默认配置启动,确认是配置问题后再逐步恢复。另一个原因是字体配置引用了系统里不存在的字体,这种情况通常不会导致启动失败,但会回退到默认字体,表现为字体不对。
下面这张表是我整理的高频问题速查:
| 现象 | 可能原因 | 排查动作 |
|---|---|---|
| 改配置无反应 | 改错文件或未重载 | 确认路径,手动重载 |
| 启动报错 | 配置语法错误 | 移走配置用默认启动 |
| 字体不对 | 字体名错误或未安装 | 确认字体名,检查安装 |
| 中文显示方块 | 缺中文字体回退 | 配置 font_with_fallback |
| 快捷键无效 | 键位冲突或 mods 写错 | 查命令面板默认键位 |
| 分屏后卡顿 | 滚动缓冲过大 | 调小 scrollback_lines |
5.2 快捷键冲突与跨平台差异
快捷键冲突是配置过程中很常见的问题。WezTerm 的键位匹配是精确匹配,mods里写CTRL和写CTRL|SHIFT是两个不同的组合。如果你绑了一个键但按了没反应,先确认实际按下的修饰键和配置里写的是否完全一致。特别是涉及 Shift 的符号键,比如竖线、百分号,键盘上需要 Shift 才能打出,配置里就要带上 SHIFT。
跨平台差异主要体现在修饰键上。macOS 的 Command 键对应配置里的SUPER,Option 对应ALT,Control 就是CTRL。Windows 和 Linux 上SUPER对应 Win 键或 Super 键。写跨平台配置时,可以用条件判断按平台设置不同的键位,或者统一用 leader 键规避平台差异——这也是我推荐 leader 键方案的原因之一,一套键位三个平台通用。
还有一个细节是终端应用和 Shell 的键位冲突。有些快捷键被 Shell 或者终端里跑的程序占用了,WezTerm 层面绑定的键可能传不下去或者被拦截。排查这类问题要看具体是哪个程序占用,必要时换一个不冲突的组合。
5.3 我踩过的几个具体坑
第一个坑是配置文件路径混乱。早期我在主目录放了一份,后来又在.config下放了一份,结果改了半天没生效,最后发现加载的是另一份。教训是只保留一份配置文件,用软链接或者版本管理工具同步,别留多份。
第二个坑是字体回退顺序写反。一开始把中文字体放在等宽字体前面,结果英文和代码全用中文字体渲染,等宽对齐全乱了。正确顺序一定是等宽英文字体在前,中文字体在后。
第三个坑是滚动缓冲设太大。有段时间我设了 50 万行,结果开几个窗格内存占用飙升,机器开始卡。后来降到 5 万行,日常完全够用。这个参数要根据机器内存和使用习惯来,不是越大越好。
第四个坑是热加载的误解。我以为改完配置所有窗口都会自动更新,实际上只有新窗口用新配置,老窗口要手动重载。这个机制其实合理,避免正在跑任务的窗口被配置变动打断,但新手容易困惑。
注意:改配置前建议先备份当前可用的版本,尤其是大改的时候。WezTerm 配置出错虽然不会损坏系统,但排查起来要花时间,有个能回退的版本心里踏实。
6. 把配置变成可维护的工程
6.1 用模块化拆分长配置
配置写到几百行之后,单文件维护会变得困难。Lua 支持模块化,可以把配置拆成多个文件,主文件用require引入。常见的拆法是按功能分:字体和配色一个文件、键位一个文件、多路复用域一个文件、平台相关配置一个文件。主文件只负责组装。
拆模块的时候注意路径问题。require的查找路径和当前工作目录有关,稳妥的做法是用绝对路径或者基于配置文件的相对路径。WezTerm 提供了获取配置目录的 API,可以在主文件里算出目录,再拼出子模块路径。这样配置文件整体移动位置也不会断。
模块化的另一个好处是复用。比如你有一套自己喜欢的键位,可以抽成一个独立模块,在不同机器的配置里引用同一份。配合版本管理工具,多设备同步配置就变成了拉取代码那么简单。
6.2 配置的版本管理与多设备同步
配置文件本质是文本,天然适合版本管理。我习惯把整个配置目录纳入版本控制,每次改动提交一次,出问题能回退,换设备能快速恢复。提交信息写清楚改了什么、为什么改,过几个月回头看能省很多回忆成本。
多设备同步要注意平台差异。字体名、路径、默认 Shell 在不同系统上不一样,配置里要用条件判断区分。WezTerm 提供了获取当前操作系统信息的 API,可以据此分支。同步的时候把平台无关的部分共享,平台相关的部分各自维护,这样一份仓库能覆盖所有设备。
同步方式上,用版本仓库是最可控的。不建议用网盘直接同步配置文件,因为网盘的冲突处理机制不适合文本配置,容易出现半新半旧的混合状态。版本仓库的合并冲突虽然也要手动处理,但至少能看清楚差异。
6.3 持续调优的心态与方法
终端配置这件事没有终点,但也不该无限投入。我的做法是:遇到具体痛点才改配置,不为了改而改。比如某天发现某个操作重复次数太多,就去绑个快捷键;发现某个颜色看不清,就去调配色。这样配置是跟着实际需求长出来的,每一项都有存在的理由。
调优的时候小步走,一次只改一个点,改完验证再继续。大改一通然后一起验证,出问题很难定位是哪个改动引起的。这个习惯在调字体和键位的时候尤其重要,这两块最容易互相影响。
最后说个心态上的经验:别人的配置可以参考,但不要直接抄全套。每个人的工作流、机器性能、审美偏好都不同,适合别人的不一定适合你。看别人的配置重点看思路和写法,具体参数按自己的情况调。配置是给自己用的工具,不是给别人看的作品。
7. 从终端工具到工作流的一部分
7.1 与其他工具的协作边界
WezTerm 再强也只是终端层,它上面跑的还是 Shell 和各种命令行工具。理清这个边界很重要,避免把所有需求都往终端配置里塞。比如文件查找用专门的工具、版本控制用专门的客户端或命令、编辑器用专门的编辑器,终端负责的是把这些串起来。
WezTerm 和 Shell 配置的分工也要清楚。提示符、别名、环境变量这些属于 Shell 层面,放在.zshrc或对应文件里;窗口外观、键位、分屏行为属于终端层面,放在wezterm.lua里。混在一起会让排查变复杂,改一个东西不知道去哪找。
和编辑器的协作值得一提。很多人习惯在编辑器内置终端里干活,WezTerm 作为独立终端和编辑器的内置终端各有适用场景。独立终端的优势是配置自由、分屏灵活、会话保持能力强;内置终端的优势是和编辑器上下文结合紧密。我的做法是重活、长任务用独立终端,快速改动用编辑器内置终端,各取所长。
7.2 一套配置长期使用的维护节奏
配置稳定之后不需要频繁动它,但也不能完全不管。我的维护节奏是:每次 WezTerm 大版本更新后,花十分钟看看更新日志里有没有配置项变动,尤其是标记为废弃的项;每季度检查一次配置里有没有可以清理的冗余项;换新机器或者重装系统时,顺便审视一遍配置,把不再需要的部分删掉。
更新日志里最需要关注的是配置项废弃和默认行为变更。前者会导致旧配置失效或报警告,后者可能悄悄改变你的使用体验。WezTerm 的更新日志写得比较详细,花几分钟扫一遍能避免很多意外。
配置的注释也要维护。写配置时顺手加注释说明为什么这么设,过几个月自己看或者别人参考时能快速理解。注释不用多,关键项和踩过坑的地方标一下就行。我现在的配置里,每个非默认值旁边基本都有一行注释,回头看的时候省了很多猜测。
7.3 给不同阶段使用者的建议
刚上手的人,先用默认配置跑一周,感受一下哪些地方不顺手,再针对性地改。不要一上来就抄一份几百行的配置,那样你既不知道每项是干什么的,出问题也无从排查。第一份自定义配置控制在五十行以内,覆盖字体、配色、leader 键就够。
用了一段时间的人,可以开始折腾分屏键位和多路复用。这两块是效率提升最明显的,也是 WezTerm 相对其他终端的差异化能力。折腾的时候配合命令面板,先确认操作存在,再绑键位,避免绑了个不存在的操作。
已经比较熟的人,可以往模块化和自动化方向走。把配置拆成模块、纳入版本管理、写一些根据环境自动调整的逻辑。这个阶段重点不是加功能,而是让配置更可维护、更可迁移。到这一步,终端配置就从“一堆设置”变成了“一套跟着你走的工作环境”。
我在实际使用中最深的体会是,工具的价值不在于功能多,而在于你真正用起来的那部分是否顺手。WezTerm 功能很多,但没必要全用上,把常用的那百分之二十配到极致,剩下的保持默认,就是最舒服的状态。配置这件事,够用就好,顺手就行,剩下的精力留给真正要干的活。