刚入行那会儿,我盯着一整天白底黑字的SecureCRT,晚上回家眼睛酸得几乎睁不开。后来把配色换成深色护眼方案,才发现这是终端使用里性价比最高的一次优化。今天分享的这套SecureCRT配色方案,我已经在生产环境用了两三年,护眼、能一眼分辨日志级别,同事路过瞥了一眼也说炫酷。全文不绕弯子,从配置思路、设置入口到可以直接抄的RGB数值全部整理出来,照着填一遍就能用。
1. SecureCRT配色方案不只是为了“好看”:从眼睛疲劳说起
1.1 什么样的终端画面算“伤眼”
很多人对终端配色的理解停留在“深色就是护眼,浅色就是刺眼”,这事没那么简单。SecureCRT默认的白色背景加黑色文字,长时间盯着看,问题不只是“刺眼”两个字能概括的。
我先说一个比较具体的场景。白天办公室自然光充足,白底黑字看着还算清楚;可一到晚上或者工位背光时,屏幕亮度稍微拉高,白色背景的光就像一盏小台灯直直打在脸上,视觉疲劳来得飞快。做运维、写脚本、查日志的人,一天在SecureCRT里耗三四个小时是常态,眼睛干涩、眨眼频率下降,时间长了甚至会连带影响睡眠节奏,这些都不是夸张的说法。
再举个日志排查的例子。默认配色下,INFO、WARNING、ERROR三种级别的日志几乎是同一个颜色输出,你扫屏幕的时候只能靠文字内容去判断严重性。把关键字高亮打开、把不同级别设成不同颜色之后,线上出问题扫一眼就能看到红色的ERROR在哪一行,效率提升非常明显。这个体验是“好看”之外实打实的生产力。
所以我的观点是:配色方案是SecureCRT使用体验的一部分,不是可有可无的装饰。它的核心任务是三件事——降低屏幕光线刺激、提高内容辨识度、减少长时间盯屏的疲惫感。达到这三点,你选的配色怎么都算合格。
1.2 一套完整配色方案由哪些元素组成
新手调SecureCRT配色时,最常见的误区是只改了一个“背景色”,其他什么都不管,结果发现命令行输出还是乱糟糟一片。要理解为什么,先得搞清楚一套终端配色其实由好几个独立的部分拼在一起。
- 背景色:整个窗口的底色,决定画面明暗基调。
- 前景色:普通文字输出的颜色,也就是你没加任何ANSI控制码时看到的默认字体颜色。
- ANSI 16色:包括标准8色(黑、红、绿、黄、蓝、品红、青、白)和对应的8个亮色版本。很多工具、脚本、日志框架都会直接调用这16个颜色来给输出上色。
- 光标颜色与样式:光标在深色背景下如果颜色太暗,找起来特别费劲。
- 选中文字底色:大多数人都会忽略这一项。默认选中文字是蓝底白字,配深色背景时容易看不清,需要单独调。
- 关键字高亮颜色:给特定文字或正则匹配到的内容单独上色,这是日志分级观察的关键工具。
我习惯用一个比喻来理解它们:背景和前景是“画布”,ANSI 16色是“画笔”,光标和选中色是“工具状态提示”,关键字高亮是“荧光笔”。只改画布、不改画笔,程序输出的内容还是老样子,整体观感照样会很乱。所以一个完整的SecureCRT配色方案,必须覆盖上面所有部分,而不是只改一个颜色。
2. 先搭底子:从内置预设到字体光标
2.1 找到设置入口:当前会话、默认会话、全局选项的区别
SecureCRT的配色设置在“外观”相关面板里,从8.x到9.x版本位置基本一致。需要特别注意:改动的位置不同,生效范围完全不同。
我常用的三个入口区分如下:
- 针对当前会话:右键左侧会话标签 → Session Options → Terminal → Appearance。改完只对当前这个连接生效,断开重连前保存即可。
- 设置默认会话:菜单栏 Options → Global Options → Default Session → Edit Default Settings → Terminal → Appearance。改完之后,之后新建的所有会话都会自动继承这套外观。
- 全局外观选项:Options → Global Options → Appearance。这里的改动影响SecureCRT自身界面,比如颜色方案、字体列表等。
建议你第一次配置配色时,直接在“默认会话”里改,而不是在当前会话里改。原因很简单:当前会话改动只影响一个连接,下次新建服务器连接又是默认的白底黑字,你还是得再改一遍。折腾一次就要重复一遍,很容易让人放弃。
进入Appearance面板后,会看到一个“当前颜色方案”或者类似的下拉选项,里面提供了黑底白字、白底黑字、绿底黑字、琥珀色等好几个内置方案。我对内置方案的态度是:可以直接用它当底子,也可以完全不选、自己逐项填颜色。如果不想从零开始,建议先选黑底白字或者Linux配色,当作起步基调,再往ANSI颜色表里填自己的RGB值。
2.2 字体和光标:暗色主题下被忽略的体验
配色改成深色之后,字体和光标的问题会立刻被放大。先说字体,SecureCRT默认字体在Windows下经常是一个中规中矩的等宽字体,显示英文和代码是够用的,但一旦遇到中文注释或者中文日志,字体渲染看起来就有点毛糙。我的习惯是:
- 英文、代码等宽字体用Consolas,或者Source Code Pro、JetBrains Mono这一类现代等宽字体,字形清晰,长时间看不发虚。
- 中文显示单独留意,确保系统里有Microsoft YaHei这类中文黑体,避免字体回退导致中文大小不一。
- 字体大小建议14磅左右,深色背景配合偏大的字号,阅读起来更轻松,但也不要大到一屏装不下代码。
光标在深色背景下如果还是默认细线或者黑色方块,找光标位置会很痛苦。SecureCRT里可以把光标样式改成实心方块或者下划线,同时把光标颜色调成亮黄色或者亮绿色,在深色背景下一眼就能捕捉到。如果嫌光标太“死板”,还可以开启光标闪烁,长时间盯屏时更容易定位输入位置。
3. 手工配色表:护眼和炫酷都要,RGB值可以直接抄
3.1 打开ANSI颜色表的正确姿势
配置前先明确一件事:ANSI 16色表在哪里改。仍然是在Session Options → Terminal → Appearance面板里,你会找到背景色、前景色以及一个可以展开的ANSI颜色配置区域。点开之后能看到两排颜色块,上面一排是标准颜色,下面一排是对应的亮色版本。
这两排颜色有几个地方容易踩坑。第一,标准颜色和亮色版本是独立的两套数值,很多人只改了标准颜色,没有改亮色版本,结果程序输出亮色文字时还是刺眼的默认色。第二,SecureCRT的“文本颜色”和ANSI色表还有一层叠加关系,命令行输出有时会用ANSI色、有时会用当前文本色,所以前景色、背景色、16色千万不要只挑其中一个改。第三,每改一个颜色都会实时预览到终端窗口,这时候建议打开一个日志持续刷新的窗口,边改边看效果,不要全部改完了才发现某个颜色亮得扎眼。
上面这个“先改默认会话、再开日志窗口实时预览”的做法,是我调了三年配色后总结出的最高效流程。不要把一堆颜色一次性全部填完再去预览,那样很难判断单个颜色的实际观感。
3.2 推荐配色表:兼顾护眼和辨识度的两套方案
下面给出两套我实际用过的方案,一套偏蓝调深色,适合长时间看日志;一套偏中性灰黑,更适合代码阅读和连接网络设备。你可以直接照抄,也可以基于它们微调。
第一套:深海蓝护眼版。
| 颜色角色 | 推荐色值 | 说明 |
|---|---|---|
| 背景色 | #0B1926 | 深蓝黑,光线柔和 |
| 普通文本 | #D6DBDF | 偏灰白,长时间看不刺眼 |
| 黑色(标准/亮色) | #1C2B36 / #4E5C6A | 深色底上做辅助色 |
| 红色(标准/亮色) | #E06C75 / #F07178 | 错误日志,醒目但不刺 |
| 绿色(标准/亮色) | #98C379 / #A8E6A3 | 正常输出、成功信息 |
| 黄色(标准/亮色) | #DBC674 / #E5C07B | 警告级别,容易识别 |
| 蓝色(标准/亮色) | #5B9BD5 / #61AFEF | 链接、路径、说明性内容 |
| 品红(标准/亮色) | #C678DD / #C586C0 | 高亮关键词、特殊标记 |
| 青色(标准/亮色) | #56B6C2 / #83C5BE | 命令输出、时间戳 |
| 白色(标准/亮色) | #D4D4D4 / #F9F9F9 | 辅助信息、次要文本 |
第二套:暗夜极客版,更接近现代编辑器风格。
| 颜色角色 | 推荐色值 | 说明 |
|---|---|---|
| 背景色 | #1E1E1E | 中性灰黑,不偏蓝不偏绿 |
| 普通文本 | #C6C6C6 | 灰白文本,分辨率高 |
| 黑色(标准/亮色) | #252526 / #5A5A5E | 折叠行、阴影色 |
| 红色(标准/亮色) | #F44747 / #FF616E | 更强警示感 |
| 绿色(标准/亮色) | #6A9955 / #89D185 | 低饱和绿,更耐看 |
| 黄色(标准/亮色) | #D7BA7D / #E2C08D | 暖黄,长时间看不易疲劳 |
| 蓝色(标准/亮色) | #4A9FF5 / #75BEFF | 标准蓝,深色底上辨识度高 |
| 品红(标准/亮色) | #C586C0 / #D16D9E | 柔和紫红 |
| 青色(标准/亮色) | #4EC9B0 / #6FDDC2 | 清爽青绿 |
| 白色(标准/亮色) | #D4D4D4 / #FFFFFF | 最高亮度信息 |
可能有人会问,这些色值到底是十六进制还是RGB。SecureCRT的颜色对话框里通常直接就支持输入十六进制色号,也就是#0B1926这种形式;如果界面里是RGB数值输入,那就自己换算一下,比如#0B1926对应R=11、G=25、B=38,换算公式很简单:十六进制前两位是Red、中间两位是Green、后两位是Blue。
上面两套方案里,我更推荐第一套作为日常主力,因为深蓝黑底色在光线较暗的工位上不会像纯黑那样生硬,同时高亮色在它的衬托下足够醒目。第二套则适合你在明亮环境里办公、或者习惯现代编辑器风格的情况。
3.3 关键字高亮:让日志一眼分清级别
配色表填完之后,还有一个提升辨识度的利器——关键字高亮。SecureCRT的关键字高亮功能位于Session Options → Terminal → Appearance → Highlight Keywords,不同的版本可能叫“关键字”或者“高亮关键字”,功能本质一样。
我的日常配置是这样:把FATAL、ERROR、CRITICAL设成红色,并且加粗;把WARNING、WARN设成黄色;把INFO、NOTICE设成青色;把SUCCESS、OK、DONE设成绿色。这样日志一滚动,眼睛不需要逐行读,光看颜色就能判断这段运行是正常推进、有警告还是已经出错了。再配合前面ANSI色表里的红、黄、青色,观感整体协调,不会出现关键字高亮颜色和命令行自带颜色打架的情况。
配置时还需要注意匹配规则。SecureCRT默认支持简单关键字和正则表达式匹配,如果你要匹配“ERROR”和“ERROR_LEVEL”这种带前缀后缀的字符串,建议用正则表达式层面去写边界匹配,避免把包含ERROR的普通单词也全部标红。另外,关键字高亮不要贪多,颜色一多屏幕就会变成“圣诞树”,反而失去重点。我的经验是:最多选5类关键字,颜色控制在红、黄、绿、青、品红五档,再多就该考虑是不是日志规范本身有问题了。
4. 进阶体验:透明度、选中效果、全局同步
4.1 半透明背景:好看但别贪
SecureCRT的Appearance面板里有一个半透明背景选项,开启后终端窗口会变成毛玻璃感,桌面壁纸或者后面的窗口内容隐约透出来。这个效果确实炫酷,而且有个实用价值:终端窗口和浏览器、文档窗口叠放时,你还能隐约看到后面窗口的进度变化。
但这个功能有两个不能忽视的问题。一是性能开销,半透明渲染会持续占用GPU或CPU,在配置不高的机器上,窗口拖动或者日志快速滚动时会出现明显的卡顿和刷新延迟。二是信息干扰,背景透过来的文字和图像会残留在终端画面里,日志内容多的时候看起来像叠了两层画面,反而影响阅读。
我的建议是:如果一定要用,透明度不要拉太低,保守一点设到85%到90%左右,既有视觉层次感,又不会让背景内容喧宾夺主。在远程桌面环境或者虚拟机里工作的人,我劝你直接放弃半透明,那个场景下卡顿会放大得很明显。
4.2 光标、选中文字与缓冲区的细节打磨
深色配色方案还有一个容易被忽略的位置:选中的文字。默认情况下,终端选中文字常常是蓝底白字,在深蓝背景里会变得很浑浊。我把选中文字底色改成一种半透明的橙黄或者亮蓝,选中区域一眼就能看见,复制粘贴时也不会选错范围。这个设置在Appearance面板的“选区”或“选中文字”相关选项里,每个版本叫法略有差异,但都有对应的颜色配置。
光标颜色前面提过要调亮,这里再补充一点:光标颜色最好和普通文本颜色有足够的对比度,同时也不要和红色高亮撞色。我见过有人把光标设成红色,结果日志里一出现ERROR,光标和错误文字融为一体,找又找不到。建议用亮黄或者亮青,这两个颜色在深色背景下和大部分日志颜色都不冲突。
滚动缓冲区也顺带说一下。把缓冲区的行数从默认值调大到5000行以上,终端往上翻历史时不会太快丢失。缓冲区的显示颜色跟随ANSI色表,只要前面配色表配好了,这一块基本不用额外设置。
4.3 让配色跟随所有新会话:默认会话与配置文件
配置全部完成后,还有一个关键动作:把它保存为默认会话,否则下一个新连接还是会回到初始配色。在Options → Global Options → Default Session → Edit Default Settings里把前面的改动全部做一遍,保存后,以后新建连接、克隆会话、快速连接都会自动带上这套方案。
如果你在多台电脑之间迁移配置,SecureCRT的配置文件都在用户目录下的VanDyke Config文件夹里。Windows上通常是%APPDATA%\VanDyke\Config,里面会有一个个会话文件以及全局配置文件。把这个目录整体备份,拷到新电脑对应位置,配色和使用习惯就全部迁移过去了,不需要重头配置一遍。需要提醒的是,配置文件里可能包含服务器地址和用户名信息,备份和分享时记得检查脱敏,别把自己的连接信息跟着配色一起“分享”出去了。
5. 常见问题与避坑记录
5.1 颜色改了不生效,多半是改错了位置
我在调整配色的过程中,遇到最多的一类反馈就是“我明明改了颜色,为什么重启后又恢复原样”。这类问题排查起来其实很简单,先分清你改的是全局默认会话还是当前会话。如果只是右键当前会话进入Session Options修改,保存后当前窗口可能会生效,但下次新建连接时就会回到默认方案,看起来就像“被重置”了。
另一个常见原因是SecureCRT里有“使用Windows颜色”之类的选项,勾选后前景色、背景色会被系统主题覆盖,你自定义的颜色全部白费。检查一下Appearance面板里有没有类似选项,把它取消勾选,自定义配色就会全面接管。再有一点,颜色方案的修改需要确认你在终端里执行过保存当前会话操作,SecureCRT在关闭标签时通常会弹出是否保存的提示,别随手点了不保存。
5.2 关键字高亮显示不出来,或者颜色太乱
关键字高亮设置的条目和正则表达式都比较容易出问题。比如你要高亮“ERROR”,但实际日志里写的是“[ERROR]”,如果匹配规则设置成了全字匹配,就匹配不上。SecureCRT的搜索是高亮功能支持简单的通配符或者正则,建议直接使用正则表达式,把边界符写清楚。另外高亮颜色和ANSI颜色如果设置得太接近,比如红色关键字和红色普通文字叠在一起,也会产生“显示不出来”的错觉。
还有一种情况:关键字高亮设置了加粗,而SecureCRT在深色背景下对粗体字会使用另一套加亮色渲染,导致颜色看起来和设置的不一样。遇到这种问题,先取消加粗再对比一次,多数时候能发现是粗体渲染在“捣乱”。
5.3 深色背景下的中文乱码与显示异常
换用深色配色后,不少人还会遇到中文日志显示成乱码或者半截方块的问题。这多半不是配色引起的,而是字符编码或者字体设置不对。先在Session Options → Terminal → Emulation里把字符编码改为UTF-8,绝大多数Linux服务器的日志和命令输出都能正常显示。如果改完后中文还是显示不正常,再检查字体设置,确保选择了一个支持中文的字体,或者让SecureCRT的中文字体回退到系统默认的微软雅黑。
顺带提一句,SSH登录时如果远程服务器的locale不是UTF-8,编码问题也会从源头影响中文显示。你可以登录后执行locale命令确认一下环境,这和SecureCRT配色方案属于两个层面,但实际排查时很容易混在一起,先查编码、再查字体、最后看配色,是效率最高的顺序。
5.4 问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 配色改完重启失效 | 修改的是当前会话而非默认会话 | 在Global Options的Default Session里统一配置 |
| 自定义颜色被系统覆盖 | 勾选了使用Windows颜色 | 取消相关选项 |
| 中文显示乱码 | 编码不是UTF-8 | Session Options中把编码改为UTF-8 |
| 关键字高亮不匹配 | 正则边界没写好 | 使用带边界符的正则表达式 |
| 粗体颜色与设置不一致 | 渲染方式不同 | 取消粗体或单独调整粗体颜色 |
| 半透明背景卡顿 | 性能不足 | 降低透明度或关闭半透明 |
| 新连接仍是老配色 | 默认会话未生效 | 重新登录或重启SecureCRT |
最后分享一个我个人的实操心得。整套配色配置完成后,不要急着开多个服务器窗口,先开一个会话,把日志刷几十行,确认每个颜色在你工位实际光线下的观感,再决定要不要微调。不同显示器、不同环境光下,同一套RGB值呈现出的效果差别还挺大。我最常用的组合是深海蓝背景搭配Consolas字体,加一套“ERROR红色、WARNING黄色、INFO青色”的关键字高亮,用了很长时间都没有再动过。配色方案没有绝对标准,以你自己看着不累、扫日志不费劲为准。照着本文这套思路调完,你的SecureCRT应该已经和默认界面说再见了。