俗话说人要衣装,佛要金装,我们的 vim 也得要有漂亮的外观。今天就让我们来看看如何调教调整 vim 的外观吧!
highlight group(以下简称 hg )是 vim 中的一个概念,他会对应到 vim 画面中的一段区块,可能是一段文字,也可能是底下的 status bar 或是左侧的行号。每一个 hg 都可以设定样式,包括前景色、背景色、反白、加底线等等,你可以用 :so $VIMRUNTIME/syntax/hitest.vim
命令查看所有的 hg 名字,他们的样式也会直接显示出来。
如果想看某个 hg 的说明的话(必须是内建的才有),可以用 :help hl-hgName
来查询说明,例如 CursorLine
就可以用 :help hl-CursorLine
来看说明
用 :highlight
或是缩写 :hi
可以设定特定 hg 的样式
hi hgName arg=value arg=value......
hgName 就是你用 :so $VIMRUNTIME/syntax/hitest.vim
查出来的名字,而 arg 常见的有前景色 ctermfg
、背景色 ctermbg
和 样式 cterm
ctermbg
和 ctermfg
後面接的值会根据你的终端机支援的颜色不同而有变化,其中 8 色和 16 色的终端机都可以用 0 ~ 8 / 0 ~ 16 这样的方式来表示颜色(数字代表的颜色要看终端机设定),vim help 提供了一个对照表可以参考各个数字代表的颜色
NR-16 NR-8 COLOR NAME ~
0 0 Black
1 4 DarkBlue
2 2 DarkGreen
3 6 DarkCyan
4 1 DarkRed
5 5 DarkMagenta
6 3 Brown, DarkYellow
7 7 LightGray, LightGrey, Gray, Grey
8 0* DarkGray, DarkGrey
9 4* Blue, LightBlue
10 2* Green, LightGreen
11 6* Cyan, LightCyan
12 1* Red, LightRed
13 5* Magenta, LightMagenta
14 3* Yellow, LightYellow
15 7* White
第一栏是 16 色,第二栏是 8 色,第三栏是颜色名字,你也可以不用数字用颜色名字(不分大小写)
如果你的终端机支援 256 色(通常现在的终端机都会有),那就更好玩了,因为你可以用这麽多种颜色!
256 色表(填的是前面的数字(0-255)不是 hex 色码 |
通常文字不会只有颜色,还可以有加粗、底线等等样式,vim 总共提供了这些样式
样式名称 | 说明 |
---|---|
bold | 粗体 |
underline | 底线 |
undercurl | 卷卷的底线,如果你的终端机不支援的话会改用底线代替 |
reverse | 反白 |
inverse | 反白 |
italic | 斜体(要字型有支援) |
standout | 翻译是「突出」,但是我用起来和 reverse 、inverse 效果一样,有人知道差在哪吗? |
strikethrough | 翻译是「删除线」但是我试不出来,也许是字体的关系 |
NONE | 清除样式设定 |
如果你需要多种样式混合,例如底线 + 反白,你可以用逗号 ,
来串起多的样式,cterm=underline,reverse
,注意不能有空白,不然会跳错误。
有了这些,你就可以自订 vim 中任何一个部份的样式了,例如 hg CursorLine 代表的是游标所在行,我可以用以下命令改变他的样式
:hi CursorLine ctermbg=240 ctermfg=195
自订的游标行 |
所谓的 colorschema 其实就是一堆的 hi
指令写在一个档案里面,然後给他一个名字,vim 内建了很多 colorschema,放在 $VIMRUNTIME/colors
目录下。你可以用命令 :echo $VIMRUNTIME
来取得 $VIMRUNTIME
的值,因为系统环境变数可能不会有他(我的就没有)。
除了去网路上下载别人设计好的 colorschema, 你也可以参考 $VIMRUNTIME/colors
下的档案形式来制作自己的 colorschema,或是 Google 搜寻 vim colorschemes generator
就可以在网路上找到很多方便你制作 colorschemes 的工具
这篇文不小心断更了,呜呜呜,这里是我新的新开的文章系列 https://ithelp.ithome.com.tw/users/20130473/ironman/4804
<<: PHP Switch 细节:Loose Comparison
闭包算是在 JS 中常听到,却不容易使用的一个方法,更多状况是不小心用出来,~~因此出 bug ~~...
今天我要来记录我的第一个C++程序 上次介绍了Dev C++如何使用、建档以及C++的基本架构 如下...
一样先上图 今天我们要处理的是Sign,在文件中或在看到产出规则,可以看到Hash为永丰金提供, N...
登入 前往官方文件,查得 登入的范例程序码。 https://sinotrade.github.io...
HTML 是一份可以给浏览器读取的文件,副档名为.html,我们在网页上所看见的元件,基本上都是由 ...