修改solarized主题

spacemacs

#1

在尝试很多主题后,发觉solarized的主题字体颜色样式最合适写代码(不是solarized-dark,也不是solarized-light),但是白色背景太刺眼了,希望改成organic-green的背景绿色,然后字体稍微放大些(因为我发现在init.el改字体对solarized无效,只对dark和light有效),请问下该如何操作?

补充问一下,为什么在dotspacemacs-themes里面把solarized放在第一个没有效果,必须手动SPC T s加载?

总结下:solarized这个主题,在themes-megapack里面有,但是选中是没有效果的,自动切换到了default状态,字体样式颜色等都回到了最初始的状态,所以导致两个主题看起来效果不同。二楼的方法在spacemacs里面也有效,很感谢!


#2

可以在init.el改,用set-background-color,下面是个例子。更简单办法,如果调整很多UI的颜色,直接改主题的源文件,找到对应的改成自己的,然后自己维护个自定义theme,(因为很多mode,通用主题很难囊括,陆陆续续还是会加蛮多的。

(set-background-color "#002b36")

至于字体,最简单的是用默认的custom-set-faces 改。如果不想在init.el/.emacs 开头搞一坨设定,参考如下例子:

(setq my-font (font-spec :family "DejaVu Sans Mono" :size 15.0))
;; load fonts
(set-frame-font my-font nil nil)

注意这段字体设定放到你load theme的那句后面,别放前面,如果你用的theme文件里有字体的设定,可能就覆盖掉了。


#4

上图为solarized-light

上图为solarized

都是设置的Menlo字体,可是从图中看两个主题的效果差别很大。很想要solarized的效果,可是始终无法在dotspacemacs-themes里面设置生效,所以二楼的的方法起不了左右,求解?


#5

哦,你用的 spacemacs啊,那就复杂了,我不知道它loading theme的机制,等用spacemacs来帮你吧。

因为:比如我自己模仿doom-emacs,写了一个define theme的function,我只要改字体之类的定义就好了,然后这个function会读取这些定义,并会被with-selected-frame去load;这样子的话,即便你是在后面加了改字体的语句,也没什么作用。


#6

白色背景的solarized? 有github地址吗?


#7

确认白色背景的不是solarized,是default


#8

同支持 solarized,颜色看着不累且不同颜色分辨度极高,语言关键字也作了特殊处理。