Vim 使用進階:自定義高亮分組

highlight

在 Vim 中,咱們能夠自定義一些顏色分組,並將其應用於某些符合特定模式的字符串中,這些分組就成爲高亮分組(highlight group)。vim

咱們能夠直接在命令行模式中輸入 highlight 命令,後面不跟上任何參數,這樣就能查看當前 Vim 中全部的高亮分組信息。字體

:highlight複製代碼

這裏定義一個名爲 myColor 的高亮分組,將背景顏色設置爲紫色:ui

:highlight myColor ctermbg=purple guibg=purple複製代碼

咱們使用 highlight 命令來定義高亮分組,後面跟上分組名和顏色模式。其中,ctermbg 表示命令行中的背景色,guibg 表示 GUI 界面中的背景色。相似的還有 ctermfgguifg,分別表示命令行前景色和 GUI 界面前景色。spa

還能夠直接爲已有的高亮分組起別名,只須要將新的分組鏈接到已有的分組便可。命令行

highlight link {newgroup} {oldgroup}複製代碼

定義完高亮分組後,咱們能夠將它應用到文本中。接下來,我給你們介紹幾種設置高亮的方法。code

match

match 命令用於在當前窗口中設置高亮模式,格式以下:字符串

:match {group} /pattern/複製代碼

例如,咱們將全部的數字都用 myColor 分組進行高亮顯示:get

:match myColor /\v\d+/複製代碼

match 命令的特色是同一時刻只能使用一種高亮模式,當設置新的高亮模式時,舊的高亮模式會被取消。string

若是要同時高亮多個模式,可使用 2match3match 命令,它們的語法和功能與 match 相同,但每一個命令每次只能設置一種高亮模式。class

:2match myColor /anotherPattern/複製代碼

取消高亮

:match none
:2match none
:3match none複製代碼

syntax match

syntax match 命令用於設置語法高亮,格式以下:

:syntax match {group} pattern複製代碼

例如,咱們將引號包圍起來的內容使用 myColor 分組高亮顯示:

:syntax match myColor /\v"\w+"/複製代碼

取消高亮

:syntax clear複製代碼

syntax keyword

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+$/複製代碼

版權聲明

做者:Wray Zheng
原文連接: www.codebelief.com/article/201…

相關文章
相關標籤/搜索