oeasy教您玩轉(zhuǎn)vim - 25 - 更多顏色
更多顏色
回憶上節(jié)課內(nèi)容??
我們上次深入了配色方案
定義了自己的配色方案
oeasy
建立了自己的配色
oeasy
在狀態(tài)欄應(yīng)用了自己的配色

明確能用的顏色
先胡亂地嘗試一下修改顏色代碼
hi Normal ctermfg=1
hi Normal ctermfg=2
hi Normal ctermfg=3
首先看看有多少能用的顏色
:set t_Co?
設(shè)置為 256 色的有顏色終端(cterm)顯示模式
:set t_Co=256
那么這 256 種顏色都有什么呢?
我們嘗試把他顯示出來(lái)
顯示某種顏色
顯示某種顏色

嘗試把所有顏色遍歷出來(lái)
for c in {0..255}do ? ?printf "\033[48;5;"$c"m%5d\033[0m" $cdone保存并運(yùn)行當(dāng)前程序
:w|!sh %

確實(shí)符合ansi的規(guī)則
這不廢話么???
修改確認(rèn)
:hi Normal ctermbg=196
:hi Normal ctermbg=214
:hi Normal ctermbg=124
經(jīng)過(guò)確認(rèn)顏色基本能夠?qū)?yīng)上
這樣我們就可以使用全部256種顏色了
哈哈哈哈
開(kāi)心??
更多顏色
當(dāng)我打開(kāi)了下載的color文件
就是上上次從vimcolors.com下載的
git clone https://github.com/gryf/wombat256grf.git
發(fā)現(xiàn)了這個(gè)

看起來(lái)我們可以使用rgb顏色編碼方式!!
怎么做的呢?看代碼
轉(zhuǎn)化過(guò)程
需要在代碼里定義從rgb顏色模式到ansi顏色模式的轉(zhuǎn)化函數(shù)
首先把rgb拆分為三個(gè)本地的分量

如果三個(gè)分量相等

映射到相應(yīng)具體的灰階的值

彩色怎么辦呢?
彩色映射

rgb三個(gè)分量已經(jīng)得到了
得到近似顏色

然后再得到彩色的值

這樣我們就可以使用rgb顏色了
而且不論我們使不使用顏色映射
都可以用代碼當(dāng)前的配色方案直接生成顏色網(wǎng)頁(yè)
生成網(wǎng)頁(yè)

可以用自定義的顏色方案生成網(wǎng)頁(yè)
:TOhtml
或者
:source $VIMRUNTIME/syntax/2html.vim
然后在瀏覽器里打開(kāi)他

:firefox %
總結(jié)
這次了解了顏色的細(xì)節(jié)
設(shè)置 256 色模式
:set t_Co=256
然后確定了具體的各種顏色
還可以生成網(wǎng)頁(yè)
還有什么好玩的么???
下次再說(shuō) *