自 白色主题时,选择文件的高亮显示失效 继续讨论:
用别人分享的主题时总会遇到有些地方的颜色不合眼,想换成自己的喜欢的颜色却又不知从何下手。那该如何快速定位并改变这一处颜色呢?
改颜色的前提是你要知道想要修改颜色的地方叫什么。例如, 想要改高亮当前行的背景色,在emacs里高亮行叫hl-line,那手动M-x customize-face RET hl-line RET
就可以自行更改了。
但是对新手来说并不知道高亮行叫hl-line;或者主题覆盖了很多package的face,有的face还inherit了一些参数,改起来不容易;又或者新装了一个package,没被主题覆盖到,就会使用默认主题的颜色,跟现用的主题不搭。
这时候可以这样快速的定位到你想要改颜色的face:
1、把你不喜欢的地方截图;(data/这一行高亮却不够亮,想改深色一些。注:红方框里的candidates是由补全框架提供的,后续我们要注意跟补全框架相关的地方)
2、将截图上传到拾色器网站,点一下高亮行发现hex代码是#e7e7e7;
3、去主题的github里搜一搜#e7e7e7;
4、发现这个颜色传给了base1,继续搜base1,发现可疑目标;
5、翻译一下,貌似是我们需要的;
6、也可以继续往下找,发现数个常见的补全框架都是用了base1,进一步验证了我们要改的颜色是#e7e7e7;
7、在本地文件里找到主题的el文件或者在github上fork过来,选一种相近不违和的颜色,把#e7e7e7改了;
8、保存、重启看看有没有成功。
如果在第3步搜不到hex代码的结果,可能有两种情况:
1、要改的颜色已有定义好的名字,例如blue green gray50等,需要耐心找找主题源代码,看看有没有这类“颜色名”;
2、可能要改颜色的地方inherit(继承、借用)了别的face的颜色,control-f 搜一搜:inherit
,继续追踪。