直接说结论:Windows Terminal 折腾好了,体验提升幅度远大于你换一台显示器。我自己的主力机从 Win10 一直用到 Win11,控制台窗口从黑底白字的默认样式,一路调成半透明毛玻璃加彩色字体加背景图,整套配置用了快两年,越用越顺。这篇文章就把我沉淀下来的定制方案和一些容易踩的坑全写出来,照做就能拥有一套专属于自己的控制台。
文章适合这几类人:刚接触 Windows Terminal 但不知从何下手的新手;已经在用默认配置、想折腾又怕改坏配置的老手;还有那些看到别人截图里花花绿绿的终端很羡慕、却不知道怎么复现的读者。整个过程不涉及任何第三方破解工具,全部使用微软官方应用商店里的 Windows Terminal 自带能力和少量开源字体,安全干净。
1. 为什么我最后把默认终端换成了 Windows Terminal
以前 Windows 上的终端体验,说句实话是有点割裂的。你装一个 Python 环境,命令行窗口是老的 conhost 宿主;你打开 Visual Studio 的开发者命令行,又是另一个样式;再加上 WSL、Git Bash、PuTTY,每个工具弹出来的都是一个不同皮肤、不同行为逻辑的黑框框。真正干活的时候,Alt+Tab 切换一堆窗口,光认哪个是哪个就得费半天劲。
Windows Terminal 把这一切收拢到一个宿主程序里,界面统一,行为统一,还带来了几项老终端完全没有的东西。第一是真彩色(TrueColor)支持,以前终端显示 256 色都已经勉强,现在 1670 万色直接可用,这意味着各种现代 CLI 工具的五颜六色输出不会再看成一片乱码。第二是 GPU 文本渲染,滚动长日志、刷构建输出时明显比老的 GDI 渲染顺滑得多。第三是标签页和分屏,一条控制台里同时开 PowerShell、WSL、CMD,还能左右上下自由分栏,这在调试前后端联调或者同时盯日志和编译输出的时候特别管用。第四才是我们这篇文章的主角:可配置性。
Windows Terminal 的定制自由度,在我用过的各种终端里算是第一梯队。字体、字号、行高、光标样式、透明度、毛玻璃效果、背景图、配色主题、默认 shell、启动目录、快捷键,几乎每一项都能改。而且它的配置文件是纯 JSON,意味着你可以把整套配置放进 Git 仓库,换新电脑拉下来直接用,这种可迁移性是图形界面设置项完全比不了的。
不过这里要提醒一句:配置自由不等于随便改。JSON 文件里每一项都有严格的格式要求,动不动就有人把配置改到终端直接打不开,急得满头大汗。别慌,后面我会讲一套安全改配置的流程和恢复方法,保证你不会把自己锁在门外。先把 Windows Terminal 装好,从商店搜索 Windows Terminal 安装即可,或者用 winget 装也行。装完之后建议顺手看一下版本号,新版功能更多,配置字段也略有差异,后面讲到的配置以较新版本为主,老版本有些字段不生效。
2. 定制第一步:先读懂配置文件再动手,你不用从零学 JSON
很多人一打开设置界面就懵了,觉得全是英文看不懂。我的建议是别在图形界面里死磕,直接打开配置文件,它的路径是设置 -> 打开 JSON 文件(或者按快捷键 Ctrl+逗号,然后在左下角找“打开 JSON 文件”)。这个文件本质上是 Windows Terminal 全部状态的持久化描述,你在设置界面里做的每一步修改,最终都会写进这个 JSON。
打开之后你会发现结构并不复杂。最外层主要分成四大块:$schema是声明文件格式的地址,defaultProfile指定默认使用哪个终端配置,profiles是所有终端配置(profile)的集合,schemes是配色主题的集合,actions是自定义快捷键。
我见过不少新手把配置改崩,问题几乎都出在同一个地方:没有分清对象和数组。defaultProfile是一个字符串,填的是某个 profile 的 GUID;profiles是一个数组,里面每个元素是一个大括号包起来的独立 profile;profiles.list是数组,但profiles.defaults是一个“给所有 profile 统一套用的默认配置”的对象。如果把这几个地方搞混,比如把 profile 应该写的配置项错放进defaults,或者把schemes里的颜色键名写错,配置文件就会在启动时被解析器拒收,终端直接弹错误。
为了让你有直观认知,先看一段我实际使用的配置文件骨架,字段我做了解释。注意这不是完整文件,完整文件我会在后面分节给:
{ "defaultProfile": "{你的默认profile的GUID}", "profiles": { "defaults": { "fontFace": "CaskaydiaCove Nerd Font", "fontSize": 12, "useAcrylic": true, "opacity": 88 }, "list": [ { "guid": "{你的PowerShell profile GUID}", "name": "PowerShell", "commandline": "powershell.exe", "colorScheme": "MyCustomTheme", "startingDirectory": "D:\\Work\\Code" } ] }, "schemes": [ { "name": "MyCustomTheme", "background": "#0B1022", "foreground": "#C8D3F5" } ], "actions": [] }这段骨架里你已经能看到核心配置项的影子:fontFace指定字体名称,fontSize指定字号,useAcrylic和opacity控制毛玻璃透明,colorScheme指定使用哪个主题。这里要注意,colorScheme里的名字必须和schemes数组中某个对象的name完全一致,连大小写都得一样,否则配置不生效,而且不会有任何提示,控制台会悄悄用默认配色。
一个非常实用的小技巧:改配置之前先把原文件复制一份,保存为 settings.backup.json 放在同目录。万一改崩了,把备份改名替换回去就恢复原样。这个习惯我强烈建议你养成,Windows Terminal 的配置解析有时候就是差一个逗号的事,崩溃时弹出的错误信息对新手并不友好。
还有一点,配置文件名严格来说叫settings.json,在你本机的路径大概是%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_xxxx\LocalState\settings.json,后面那串 xxxx 是随机字符,每个人不一样。直接在设置界面点“打开 JSON 文件”最省事,不用记路径。
3. 让控制台充满色彩:配色方案的拆解与调校
说回这篇文章标题里的核心诉求:让控制台充满色彩。Windows Terminal 的配色方案(Color Scheme)就是干这个的。默认自带了好几个主题,包括 Campbell、One Half Dark、Solarized Dark/Light、Tango 等。但想真正“专属”,一定要自己建一套。
3.1 搞清楚 16 色映射是怎么运作的
要理解配色,先要理解终端颜色机制。终端里的颜色不是随便一种就能用,它符合一套约定:文本输出时,程序会通过 ANSI 转义序列(比如\x1b[31m)告诉终端“我要显示红色”,终端就去配色表里找“红色”这个位置对应的具体 RGB 值,显示出来。
每个配色方案里实际要定义 16 个颜色槽位,分为 8 个普通色和 8 个亮色(bright)。普通色是黑、红、绿、黄、蓝、品红、青、白;亮色是把这 8 个颜色各加一个更亮的版本。很多工具输出时用普通色,但也有不少工具(比如 Git 的 status 提示、部分日志着色工具)会直接用亮色,如果亮色和普通色调得过于接近,信息层次就分不出来。
我在下面这张表里把 16 个槽位对应的常见用途写出来,方便你调色时有的放矢:
| 颜色槽位 | 常见用途 | 建议 |
|---|---|---|
| black | 背景辅助、边框 | 不要用纯黑,带一点冷色更柔和 |
| red | 错误信息、删除标记 | 保证与背景对比度足够 |
| green | 成功信息、新增文件 | 控制饱和度,避免刺眼 |
| yellow | 警告信息、修改标记 | 柔和金黄比亮黄更耐看 |
| blue | 目录链接、普通强调 | 很多终端蓝很暗,适当提亮 |
| magenta | 特殊标记、包管理器名称 | 紫红色,饱和度别太高 |
| cyan | 文件路径、提示符 | 提亮后非常好看 |
| white | 普通文字、默认前景 | 不要纯白,微带灰更护眼 |
| brightBlack | 次要信息、注释、行号 | 用深灰,不要和 black 混淆 |
| brightRed | 高亮错误、git冲突标记 | 比普通红更亮,用于强调 |
| brightGreen | 高亮成功、进度条 | 亮绿,但避免荧光感 |
| brightYellow | 高亮警告、活动状态 | 用于区分普通黄 |
| brightBlue | 链接、菜单选中项 | 亮蓝可读性好 |
| brightMagenta | 高亮特殊标记、PowerShell中命令提示 | 用于视觉焦点 |
| brightCyan | 高亮路径、重点输出 | 亮青非常醒目 |
| brightWhite | 高亮文本、当前行 | 用于最高层级强调 |
如果你接触过一些知名配色方案(比如 Dracula、Nord、One Dark 之类),会发现它们的本质就是把这 16 个槽位精心安排了一套协调的 RGB 值。自己调配色时,不需要从零拍脑袋,可以先从一个喜欢的方案入手,把它的颜色抄进自己的 scheme,再逐个微调。
3.2 一套可直接落地的自定义配色示例
下面这套配色是我个人在用的,灵感来自深色星空风格,背景带点蓝紫,前景偏冷白,长时间写代码眼睛不容易累。你可以直接复制到schemes数组里使用,也可以在这基础上改几组颜色做成自己的变体:
{ "name": "MidnightComet", "background": "#0B1022", "foreground": "#C8D3F5", "black": "#1E2435", "red": "#F07178", "green": "#A8C79A", "yellow": "#E6C384", "blue": "#7E9CD8", "magenta": "#D89BDD", "cyan": "#6FC1D8", "white": "#C8D3F5", "brightBlack": "#4A536B", "brightRed": "#FF8F98", "brightGreen": "#B9D9A8", "brightYellow": "#F5D79C", "brightBlue": "#93B0E8", "brightMagenta": "#E5B3EA", "brightCyan": "#82D0E3", "brightWhite": "#E8EDFF" }这里补充一个容易忽略的字段:selectionBackground,也就是选中文字时的背景色。默认方案里这个值经常很丑,选中的文字直接糊成一团。建议把它设为一个半透明的亮蓝色调,比如#35405A,这样选中区域不会把整个屏幕刷成大蓝块,视觉上干净很多。还有cursorColor(光标颜色),我习惯把光标设为青色#6FC1D8,在深色背景下非常容易定位。
记住一个调色原则:背景和前景的亮度差要拉开。很多人把背景调得很深,前景也调得很深,结果整个终端黑乎乎一片,连提示符都看不清楚。我自己会开着终端窗口,用 PowerShell 执行几条会输出彩色文字的指令,边看边调,直到所有颜色层次都清晰。
3.3 配置颜色在 PowerShell 里显示不对怎么办
这是评论区最常见的问题:我明明配好了 scheme,PowerShell 里执行Get-ChildItem看到目录列表还是难看的默认颜色。原因很简单:PowerShell 自带一套 PSReadLine 和 FileSystem 的颜色映射,它输出的颜色和终端 scheme 里的显示颜色之间是两套体系。Windows Terminal 里的 scheme 控制的是终端仿真器层面的颜色槽位,而 PowerShell 的输出颜色由$PSStyle和 PSReadLine 选项控制。
想让二者统一,有两种思路。一种简单粗暴,直接在 PowerShell profile 脚本里设置$PSStyle.FileInfo.Directory = "e[38;2;126;156;216m",用真彩色 RGB 指定目录的显示颜色。另一种更彻底,是调整 PSReadLine 的 Token 颜色:Set-PSReadLineOption -Colors @{ Command = "e[38;2;246;215;156m" }。这两段命令要写进$PROFILE文件才会长久生效,具体路径在 PowerShell 里输入notepad $PROFILE就能打开编辑。
说句实在话,这个问题的坑很多人没绕过,是因为他们不清楚“终端配色方案”和“shell 着色规则”是两个层次的东西。终端负责把颜色槽位转换成屏幕上的像素,shell 负责决定哪段文字用哪个颜色槽位。两者都调好,整个控制台才算真正“充满色彩”。
3.4 自定义提示符让 PowerShell 变得更好看
配色好看还要靠内容衬托。PowerShell 默认提示符就一行路径,略显单调。我改造了一个常见的自定义提示符函数,放到$PROFILE里,效果是路径加颜色、Git 分支提示加颜色、命令完成后显示执行时间。核心代码长这样:
function prompt { $location = (Get-Location).Path if ($location -like "$HOME*") { $location = "~" + $location.Substring($HOME.Length) } $branch = "" try { $gitBranch = git rev-parse --abbrev-ref HEAD 2>$null if ($gitBranch) { $branch = " [`e[36m$gitBranch`e[0m]" } } catch {} $time = Get-Date -Format "HH:mm:ss" "[`e[33m$time`e[0m] [`e[94m$location`e[0m]$branch > " }这个提示符本身依赖了 ANSI 转义序列和真彩色编码(\x1b[94m表示亮蓝),配合我们前面调好的配色方案,终端会显示出一段层次分明的提示符。用 Git 的时候分支名会显示为青色,而不是混在路径里看不清。写代码、切分支、看文件状态都舒服不少。
4. 透明度、背景图与字体渲染:让控制台真正“专属”的视觉层定制
配色不是全部。我见过不少人的终端配色很好看,但窗口还是方方正正一块实心色块,放在桌面上有点突兀。Windows Terminal 的视觉层定制主要分三个方向:透明度、背景图、字体。这三样配合起来,控制台窗口就能和你的桌面融为一体,真正变成“专属”工具。
4.1 透明度和毛玻璃效果
Windows Terminal 的透明度分成两种实现:Acrylic(亚克力毛玻璃)和简单的 alpha 透明度。在profiles.defaults里设置"useAcrylic": true会用毛玻璃效果,Windows 系统自带的模糊算法会让终端后面的桌面内容被模糊透过来,质感很好。如果设成false,就是纯 alpha 透明度,直接看到背后内容,不做模糊。
透明度多少合适?我个人经验是 80 到 92 之间。太大的话文字和背景容易混在一起,长时间盯屏幕眼睛累。80 以下只有炫酷的份,没有实用的份。配置项是"opacity": 85,注意新版 Windows Terminal 里 opacity 的取值范围是 0 到 100 的整数,有些老文章会写浮点数 0.85,那是早期版本的写法,新版会报错。
代码片段:
{ "profiles": { "defaults": { "useAcrylic": true, "opacity": 86, "background": "#0B1022" } } }有一个很重要的细节:如果你开了背景图,透明度仍然有效,但最终效果会跟背景图叠在一起。透明度开太高会导致背景图看不出来,开太低又会影响文字可读性,需要根据你选的背景图明暗程度调整。我之前用过一张深蓝星空的背景图,透明度只能开到 90 以上,低于 90 整个画面就灰蒙蒙的。
4.2 背景图:让终端不再是死板一块
背景图是让控制台快速变“专属”的大杀器。Windows Terminal 支持backgroundImagePath指定本地图片路径,也支持直接设成desktopWallpaper把当前桌面壁纸当作终端背景,这样无论壁纸怎么换,终端都跟着换。这一点我个人非常喜欢,省去单独找图的时间,视觉上也跟桌面统一。
配置背景图的核心字段有四个:
{ "backgroundImagePath": "D:\\Wallpapers\\dark-cosmos.png", "backgroundImageOpacity": 0.25, "backgroundImageAlignment": "center", "backgroundImageStretchMode": "uniformToFill" }backgroundImageOpacity控制在 0 到 1 之间,建议 0.15 到 0.3。太高图片会干扰文字,太低等于没设。backgroundImageAlignment决定图片对齐方式,只对小于终端窗口的图片有意义。backgroundImageStretchMode可选none、fill、uniform、uniformToFill,我的习惯是用uniformToFill,图片不会被拉伸变形,终端窗口无论多大都能铺满,代价是图片边缘会被裁掉一部分,但这通常无所谓。
我自己实测过一组组合:深色背景图 + 开毛玻璃 + 前景色浅色文字,这套组合很耐看,也不会太抢镜。你要是喜欢极简,就把背景图 opacity 调到 0.12 左右,只在空白处隐约看到纹理。
4.3 字体、字号、行高与光标:这些细节决定长时间使用的舒适度
字体是控制台可读性的核心。默认的 Cascadia Mono 已经不错,如果你想用带图标(Nerd Font)的字体来显示 git 分支符号、文件夹图标等特殊字符,推荐安装CaskaydiaCove Nerd Font或FiraCode Nerd Font。这类字体会把常见图标映射到 PUA 编码区,很多终端工具(如 oh-my-posh、lsd、starship)默认就会输出这些字符,普通字体显示出来就是豆腐块,装上 Nerd Font 后瞬间规整。
安装字体的坑主要集中在名字对不上。Windows 的字体安装好之后,fontFace里填的必须是字体在系统中注册的名字,而不是文件名。很多人在网上下载了 FiraCode 的 zip,解压后看到的是 FiraCode-Regular.ttf,安装完就在配置里写FiraCode-Regular,结果不生效。正确写法是去设置 -> 个性化 -> 字体里查一下这个字体在系统里的完整显示名,通常会是CaskaydiaCove Nerd Font这样的纯名称。填错的话终端会在启动时悄悄退回到默认字体,并不会弹错误。
字号方面,高分屏(2K、4K)我建议 12 或 13,1080P 屏建议 11 或 12。行高(lineHeight)不是必须改的项,默认 1.0 在 Nerd Font 下可能显得行距略紧,你可以开到 1.1 到 1.2,缓解长时间阅读日志的疲劳感。光标样式(cursorShape)有bar(竖线)、block(方块)、underscore(下划线),常写代码的人大多喜欢 bar,配合cursorColor设成亮色后定位准确,也很好看。
完整的 profile 片段:
{ "guid": "{你自己的GUID}", "name": "PowerShell", "fontFace": "CaskaydiaCove Nerd Font", "fontSize": 12, "lineHeight": 1.1, "cursorShape": "bar", "cursorColor": "#6FC1D8", "useAcrylic": true, "opacity": 88, "colorScheme": "MidnightComet", "backgroundImagePath": "D:\\Wallpapers\\dark-cosmos.png", "backgroundImageOpacity": 0.22, "backgroundImageStretchMode": "uniformToFill" }5. 定制过程中绕不开的坑:配置失效、颜色变样、目录不对
定制过程中我踩过不少坑,整理出来,希望你能少走弯路。这些问题是微信群和社区里出现频率最高的,每一个我都亲自遇到过。
5.1 配置改了但不生效:多半是改错了入口
Windows Terminal 的配置改完若不生效,原因通常有三个。
第一个是改了profiles.defaults里没有写进profiles.list里的 profile。比如你在defaults里设置了背景色,但某个具体 profile 里自己也设了background字段,profile 自身字段的优先级高于 defaults,所以你的 defaults 改动被盖住了。解决办法是检查 list 里对应 profile 有没有重复设置同名字段。
第二个是开了多个配置文件源。新版 Windows Terminal 支持“动态 profile”,也就是它自动检测系统里已经安装的 WSL、Visual Studio、Azure Cloud Shell 等,给它们各生成一个 profile。如果你在图形界面手动新建了一个同名 profile,可能你在 JSON 里看到的是两个不同 GUID 的条目,但你实际打开的窗口用的还是旧的。解决方法是在设置界面的“启动”里看默认 profile 到底是什么,或者直接在defaultProfile里手动指定你要用的 GUID。
第三个最隐蔽:配置文件里出现了重复键名。JSON 语法允许同一个对象里出现同名字段,但实际生效的是最后一个。很多人复制粘贴配置的时候,不小心在一个 profile 里写了两个fontFace,前面的被后面的覆盖掉,排查半天发现是这种低级问题。建议每次改配置都用支持 JSON 语法高亮的编辑器(比如 VS Code),能直接看出哪里有重复键名。
5.2 终端颜色和 scheme 设定不一致:先检查 ANSI 层级
这个问题我上面也提到过,再单独拿出来讲一层。你配置了一组很漂亮的亮青色,但打开某个工具时输出文字还是普通青色,原因是那个工具自己通过 ANSI 转义序列指定了m前的颜色代码。这是终端软件的正常行为:工具的输出优先级高于终端默认配色。也就是说,终端配色方案定义的是“颜色槽位长什么样”,工具可以自己决定“用哪个槽位”。两者不冲突,但要理解这一点,才不会被“为什么我的青色不亮”这种事困扰。
如果你想让所有输出都套用终端配色的深度方案,可以用 Windows Terminal 的一个隐藏功能:在profiles.defaults里设置"experimental.autoMarkPrompts": true以及"experimental.showMarksOnScrollbar": true,这会为滚动条加标记,但不是调色的。真正能全局覆盖的调色设置目前不存在。所以接受“工具输出大于配色”这个事实,把工具本身的主题也调一调(比如 oh-my-posh 有自己的主题配置),才是正解。
5.3 字体装了但终端里还是方块:多半是字体名写错或字重缺失
Nerd Font 安装后,终端里某些图标还是显示成方块,这种情况比“字体没生效”更常见。原因不是字体没装,而是你用到的那个图标对应的字形在字体文件里不存在。比如 CaskaydiaCove Nerd Font 覆盖了绝大多数终端要用到的图标(Powerline 符号、git 分支符号、文件类型图标),但如果你使用的工具输出了一个字体没有覆盖的码位,照样显示方块。
解决方法是下载完整版 Nerd Font 而不是精简版。在 Nerd Fonts 官网下载时选择Complete版本,安装后覆盖范围最广。另外注意字重问题:如果你在配置里只指定了普通字重,但某个工具用加粗输出(比如 git 的分支提示符),系统会尝试自动合成加粗,有时会导致字形错位。这种情况可以在字体设置里把fontWeight指定为"bold"试试看,或者统一使用"normal",避免混用。
5.4 启动目录不对:startingDirectory 的坑
startingDirectory字段决定打开终端时进入哪个目录。新手经常遇到两个问题:一是路径里带了反斜杠\,在 JSON 里必须转义成\\,写"startingDirectory": "D:\Work"是错的,应该写"D:\\Work"。二是想要进入用户主目录,不用写死路径,可以直接填"startingDirectory": "%USERPROFILE%",Windows 环境变量会被自动展开。如果填了不存在的路径,终端会打开后立刻退回默认目录,不会报错,很容易让人误以为配置没生效。
5.5 配置文件损坏后的急救方法
万一配置改崩了,终端直接打不开,不要卸载重装。最稳妥的方法是用文件资源管理器进入前面提到的 settings.json 所在目录,手动把刚才的备份文件改名覆盖回去;或者直接删除 settings.json,Windows Terminal 会在下次启动时自动生成一份全新的默认配置。这两个方法都能救回来,只是会丢失你之前的所有自定义项。所以,定期把 settings.json 备份到网盘或 Git 仓库绝对是划算的,我自己就是这样,每次大改之前都会先备份一次。
6. 不只是好看:让专属控制台变成日常生产力的几个增强配置
定制到现在,控制台已经不是“好看”两个字能概括的了。它集合了多标签、多 profile、配色清晰、背景通透、字体规整等优点,日常敲命令的效率也上来了。最后分享几个我每天都用、极大提升操作效率的增强配置,算是把这套系统彻底打磨到“生产力工具”的水准。
6.1 给多个环境各建一个 profile,一键切换
WSL、PowerShell、CMD、Git Bash 各有用途,我的做法是为它们各建一个 profile,并通过tabTitle设置不同的标签页名字,用颜色区分。这样每个环境都有自己的底色,切换时一眼就知道自己在哪。profiles.list里可以添加多个对象,每个对象配上独立的colorScheme。比如我的 WSL 使用绿色系主题,PowerShell 使用蓝色系主题,区分度特别高。
6.2 绑定高频快捷键:分屏、新建标签、复制粘贴
Windows Terminal 的actions是配置快捷键的地方。默认已经有Ctrl+Shift+T新建标签页、Ctrl+Shift+D关闭窗格等快捷键,但有几个非常实用的默认没有,需要自己加。
我加了这几组:
{ "actions": [ { "command": { "action": "splitPane", "split": "down" }, "keys": "ctrl+alt+d" }, { "command": { "action": "splitPane", "split": "right" }, "keys": "ctrl+alt+r" }, { "command": { "action": "find" }, "keys": "ctrl+shift+f" }, { "command": { "action": "nextTab" }, "keys": "ctrl+tab" }, { "command": { "action": "prevTab" }, "keys": "ctrl+shift+tab" }, { "command": { "action": "togglePaneZoom" }, "keys": "ctrl+alt+z" } ] }splitPane是分屏操作,split: "down"表示向下分屏,split: "right"是向右分屏。togglePaneZoom可以把当前窗格临时放大到全屏,再按一次恢复,这个功能在多窗格时特别好用。find是搜索终端缓冲区内容,上网找资料或者翻日志的时候非常方便。
快捷键刚配完需要记住几点:第一,动作和键位之间不能用同一个键位绑定多个动作,否则后写的会覆盖先写的,这个在 JSON 里看不出来,但实际只生效一个;第二,改动 actions 之后不用重启终端,会自动热加载,但偶尔有卡缓存的情况,关掉这个窗口重新打开一个即可。
6.3 让滚动和刷新更顺手:鼠标、滚轮与缓冲区设置
默认的鼠标滚轮滚动方向在 Windows 终端里和浏览器一致,但如果你从 Linux 的终端过来,可能会觉得滚轮反了。我个人已经适应了默认方向。但有一个必须改的点:缓冲区行数。默认 9000 行对于长时间刷日志来说远远不够,我把它调到 50000 行,这样早上的报错日志下午还能翻到。配置项:
{ "profiles": { "defaults": { "historySize": 50000, "snapOnInput": false } } }snapOnInput的意思是当你输入命令时,终端是否自动把视图滚到底部。默认是 true,这在多行日志滚动审查时很烦人,你正看着顶部,一按键盘屏幕就跳走了。设成 false 之后,查看长日志就从容很多。
6.4 最后分享一点个人配置管理的习惯
整套配置在你手上成型之后,强烈建议把 settings.json 传到私有 Git 仓库。换电脑、重装系统、或者某次手滑改坏了,一条git clone就能拉回来。我自己的配置里还会附一个 README,记录每个颜色方案的设计意图和字体安装步骤,防止半年后自己都忘了当初为什么这么调。
另外,Windows Terminal 支持把 profile 的图标(icon)设为自定义路径,我给我的 WSL profile 设了一个企鹅图标,PowerShell 设了一个蓝色 PowerShell 图标,标签页里扫一眼就能认出来。这些小细节单个不起眼,叠加起来就是“专属感”的来源。
写在最后
折腾 Windows Terminal 这件事,看起来只是改改配置文件,实际上是把每天都要面对的工具打磨成自己喜欢的样子。我花了一个下午调好第一版配色,之后又花了两周时间陆陆续续微调字体、透明度、快捷键和 PowerShell 提示符。现在打开终端已经成了一种愉悦的体验——窗口半透明地浮在桌面上,目录列表用冷青色渲染,git 分支显示在提示符角落,分屏一开,左边跑 WSL 编译,右边看 PowerShell 日志,整个过程行云流水。改配置时踩过的坑也都不白踩,这些经验让我对 Windows Terminal 的内部机制有了更清楚的认识。如果你照着这篇文章配出了自己的一套终端,回头发现哪里卡住了,或者配色调出来不太满意,那太正常了——定制这个东西,本质上是一次次微调的过程,调着调着,它就真的“专属”于你了。