在 Vim 中,咱們能夠自定義一些顏色分組,並將其應用於某些符合特定模式的字符串中,這些分組就成爲高亮分組(highlight group)。vim
咱們能夠直接在命令行模式中輸入 highlight
命令,後面不跟上任何參數,這樣就能查看當前 Vim 中全部的高亮分組信息。字體
:highlight複製代碼
這裏定義一個名爲 myColor 的高亮分組,將背景顏色設置爲紫色:ui
:highlight myColor ctermbg=purple guibg=purple複製代碼
咱們使用 highlight
命令來定義高亮分組,後面跟上分組名和顏色模式。其中,ctermbg
表示命令行中的背景色,guibg
表示 GUI 界面中的背景色。相似的還有 ctermfg
、guifg
,分別表示命令行前景色和 GUI 界面前景色。spa
還能夠直接爲已有的高亮分組起別名,只須要將新的分組鏈接到已有的分組便可。命令行
highlight link {newgroup} {oldgroup}複製代碼
定義完高亮分組後,咱們能夠將它應用到文本中。接下來,我給你們介紹幾種設置高亮的方法。code
match
命令用於在當前窗口中設置高亮模式,格式以下:字符串
:match {group} /pattern/複製代碼
例如,咱們將全部的數字都用 myColor
分組進行高亮顯示:get
:match myColor /\v\d+/複製代碼
match
命令的特色是同一時刻只能使用一種高亮模式,當設置新的高亮模式時,舊的高亮模式會被取消。string
若是要同時高亮多個模式,可使用 2match
和 3match
命令,它們的語法和功能與 match
相同,但每一個命令每次只能設置一種高亮模式。class
:2match myColor /anotherPattern/複製代碼
取消高亮
:match none
:2match none
:3match none複製代碼
syntax match
命令用於設置語法高亮,格式以下:
:syntax match {group} pattern複製代碼
例如,咱們將引號包圍起來的內容使用 myColor
分組高亮顯示:
:syntax match myColor /\v"\w+"/複製代碼
取消高亮
:syntax clear複製代碼
syntax keyword
命令用於設置關鍵字高亮,格式以下:
:syntax keyword {group} word1 word2 ...複製代碼
例如,咱們把 hello 和 world 兩個單詞做爲關鍵字進行高亮:
:syntax keyword myColor hello world複製代碼
取消高亮
:syntax clear複製代碼
Search 是匹配文本時默認使用的高亮分組,咱們能夠自定義該分組的顏色,下面的代碼將使搜索結果以綠色的背景展現出來。
:highlight Search ctermbg=green guibg=green複製代碼
編寫代碼時,經常會遇到一行中代碼過長的狀況,咱們能夠經過設置高亮實時檢測是否有超長的代碼。
:highlight rightMargin term=bold ctermfg=blue guifg=blue
:match rightMargin /.\%>72v/複製代碼
上面的命令會將一行中超過72個字的部分用藍色字體高亮顯示。
咱們常常會遇到行尾有多餘空格的狀況,但正常狀況下,很難發現這些多餘的空格。使用高亮來顯示這些空格再合適不過了。
:highlight extraSpace ctermbg=red guibg=red
:match extraSpace /\v\s+$/複製代碼