淡妝濃抹總相宜——聊聊Vim的配色和高亮

作為一個(gè)程序員,長(zhǎng)期面對(duì)的是屏幕,屏幕上長(zhǎng)期占據(jù)的是編輯器(編輯器有三千,我獨(dú)愛(ài)Vim?。?,所以編輯器的配色對(duì)程序員至關(guān)重要

我不是美工,更不是設(shè)計(jì)師,我只是一個(gè)有點(diǎn)強(qiáng)迫癥(看到上面一段那個(gè)不知道跑哪去的句號(hào)了嗎)的Vimer。所以,這里也沒(méi)有什么設(shè)計(jì)理論上的各種概念和理念指導(dǎo),有的只是自己的經(jīng)驗(yàn)和感覺(jué),為大家作一個(gè)參考。

XTermColorTable

Vim的配色支持

Vim支持自定義配色方案,也內(nèi)置了多個(gè)配色方案,通過(guò)命令:colorscheme <Tab>可以列出所有的配色方案,:colorscheme <scheme_name>則是使用某個(gè)方案。

Vim的配色是區(qū)分GUI和Terminal進(jìn)行定義的,因此某個(gè)配色在GUI下好看,某個(gè)配色可能在Terminal下好看,比如個(gè)人覺(jué)得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)用不同的高亮組來(lái)進(jìn)行顯示,所以一個(gè)配色方案需要做的就是定義各種不同的高亮組。

具體語(yǔ)法這里就不復(fù)制了,感興趣的可以直接:h highlight。

Detorte配色方案

Detorte是一個(gè)結(jié)合Vim自帶的deserttorte兩種方案的,能夠在GUI和Terminal兩種環(huán)境下都表現(xiàn)近乎一致的一個(gè)溫和型配色方案。直接上圖:

Detorte Terminal

上圖可以看到一些細(xì)節(jié):

  1. 頂部的三個(gè)標(biāo)簽頁(yè),亮黃色表示當(dāng)前頁(yè),暗米黃表示非活動(dòng)頁(yè);
  2. 兩個(gè)分割窗口,當(dāng)前分割窗口使用鮮艷一點(diǎn)的狀態(tài)欄,而非當(dāng)前的則使用灰暗配色;
  3. 行號(hào)使用灰暗配色,以免喧賓奪主;當(dāng)前行的行號(hào)則使用亮黃色;
  4. 所在行和所在列的配色都是偏淡,既能起到提醒和定位的作用,也不會(huì)亮瞎眼睛;

總的配色都是清晰而柔和的;對(duì)比度過(guò)高,初看的時(shí)候亮眼,長(zhǎng)期對(duì)著就容易淚流滿面了。判斷是否柔和的一個(gè)(個(gè)人)標(biāo)準(zhǔn)是,黑底白字顯示一個(gè)毫無(wú)格式的日志文件,盯著一分鐘,眼睛不難受,那就是比較好的。

Log File

特性

亮色主題

Detorte還提供了一個(gè)亮色主題。

Light Theme

高對(duì)比度模式

在投影展示的時(shí)候,我們往往需要高對(duì)比度的配色方案,以便所有人都能看清楚。Detorte提供了一個(gè)命令DetorteHighContrast以便開啟高對(duì)比度模式,該命令只在黑色主題下有用。下面是高對(duì)比度下的一些圖片。試試能不能對(duì)著日志文件那個(gè)看一分鐘?

Log File In High Contrast Mode
Vim Script in High Contrast Mode

定義高亮的快捷命令

Detorte還提供了一個(gè)命令DetorteHighlight來(lái)方便快捷地定義或修改高亮組,支持使用終端顏色序號(hào)來(lái)定義GUI配色。

如下命令定義了CursorLine高亮組的配色,將其前景色設(shè)置為16,背景色保持不變。

DetorteHighlight CursorLine 16 -1 none

結(jié)語(yǔ)

歡迎試用detorte配色方案,項(xiàng)目地址。大家也可以基于一個(gè)已有的配色方案來(lái)微調(diào)打造一個(gè)自己的配色。

謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容