作為一個(gè)程序員惑折,長(zhǎng)期面對(duì)的是屏幕,屏幕上長(zhǎng)期占據(jù)的是編輯器(編輯器有三千归园,我獨(dú)愛Vim;剖),所以編輯器的配色對(duì)程序員至關(guān)重要
我不是美工庸诱,更不是設(shè)計(jì)師捻浦,我只是一個(gè)有點(diǎn)強(qiáng)迫癥(看到上面一段那個(gè)不知道跑哪去的句號(hào)了嗎)的Vimer。所以桥爽,這里也沒有什么設(shè)計(jì)理論上的各種概念和理念指導(dǎo)默勾,有的只是自己的經(jīng)驗(yàn)和感覺,為大家作一個(gè)參考聚谁。
Vim的配色支持
Vim支持自定義配色方案母剥,也內(nèi)置了多個(gè)配色方案,通過命令:colorscheme <Tab>
可以列出所有的配色方案形导,:colorscheme <scheme_name>
則是使用某個(gè)方案环疼。
Vim的配色是區(qū)分GUI和Terminal進(jìn)行定義的,因此某個(gè)配色在GUI下好看朵耕,某個(gè)配色可能在Terminal下好看炫隶,比如個(gè)人覺得desert
這個(gè)方案在GUI下挺好的,而torte
這個(gè)方案在Terminal下挺好的阎曹。
如果你打開一個(gè)配色方案的文件如desert.vim
伪阶,你會(huì)發(fā)現(xiàn)其實(shí)該文件就是一個(gè)Vim腳本文件,里面就是一條條的命令处嫌。其中栅贴,定義顏色的命令是highlight
高亮命令,比如:
highlight IncSearch guifg=#000000 guibg=#87afff gui=none ctermfg=16 ctermbg=111 cterm=none
該命令就定義了一個(gè) Highlight Group IncSearch
的配色熏迹。Vim的各個(gè)部件會(huì)調(diào)用不同的高亮組來進(jìn)行顯示檐薯,所以一個(gè)配色方案需要做的就是定義各種不同的高亮組。
具體語法這里就不復(fù)制了,感興趣的可以直接:h highlight
坛缕。
Detorte配色方案
Detorte是一個(gè)結(jié)合Vim自帶的desert
和torte
兩種方案的墓猎,能夠在GUI和Terminal兩種環(huán)境下都表現(xiàn)近乎一致的一個(gè)溫和型配色方案。直接上圖:
上圖可以看到一些細(xì)節(jié):
- 頂部的三個(gè)標(biāo)簽頁赚楚,亮黃色表示當(dāng)前頁毙沾,暗米黃表示非活動(dòng)頁;
- 兩個(gè)分割窗口宠页,當(dāng)前分割窗口使用鮮艷一點(diǎn)的狀態(tài)欄搀军,而非當(dāng)前的則使用灰暗配色;
- 行號(hào)使用灰暗配色勇皇,以免喧賓奪主罩句;當(dāng)前行的行號(hào)則使用亮黃色;
- 所在行和所在列的配色都是偏淡敛摘,既能起到提醒和定位的作用门烂,也不會(huì)亮瞎眼睛;
總的配色都是清晰而柔和的兄淫;對(duì)比度過高屯远,初看的時(shí)候亮眼,長(zhǎng)期對(duì)著就容易淚流滿面了捕虽。判斷是否柔和的一個(gè)(個(gè)人)標(biāo)準(zhǔn)是慨丐,黑底白字顯示一個(gè)毫無格式的日志文件,盯著一分鐘泄私,眼睛不難受房揭,那就是比較好的。
特性
亮色主題
Detorte還提供了一個(gè)亮色主題晌端。
高對(duì)比度模式
在投影展示的時(shí)候捅暴,我們往往需要高對(duì)比度的配色方案,以便所有人都能看清楚咧纠。Detorte提供了一個(gè)命令DetorteHighContrast
以便開啟高對(duì)比度模式蓬痒,該命令只在黑色主題下有用。下面是高對(duì)比度下的一些圖片漆羔。試試能不能對(duì)著日志文件那個(gè)看一分鐘梧奢?
定義高亮的快捷命令
Detorte還提供了一個(gè)命令DetorteHighlight
來方便快捷地定義或修改高亮組,支持使用終端顏色序號(hào)來定義GUI配色演痒。
如下命令定義了CursorLine
高亮組的配色亲轨,將其前景色設(shè)置為16
,背景色保持不變嫡霞。
DetorteHighlight CursorLine 16 -1 none
結(jié)語
歡迎試用detorte
配色方案瓶埋,項(xiàng)目地址希柿。大家也可以基于一個(gè)已有的配色方案來微調(diào)打造一個(gè)自己的配色诊沪。
謝謝养筒!