Vim自定義高亮分組以及一些實(shí)用技巧小結(jié)
前言
Linux下的Vim代碼編輯器簡單好用,但是本身對(duì)編程語言的關(guān)鍵字高亮及配色需要用戶自己設(shè)置。下面這篇文章主要就給大家介紹了關(guān)于Vim自定義高亮分組及實(shí)用技巧的相關(guān)內(nèi)容,需要的朋友們下面來一起看看吧。
highlight
在 Vim 中,我們可以自定義一些顏色分組,并將其應(yīng)用于某些符合特定模式的字符串中,這些分組就成為高亮分組(highlight group)。
我們可以直接在命令行模式中輸入 highlight 命令,后面不跟上任何參數(shù),這樣就能查看當(dāng)前 Vim 中所有的高亮分組信息。
:highlight
這里定義一個(gè)名為 myColor 的高亮分組,將背景顏色設(shè)置為紫色:
:highlight myColor ctermbg=purple guibg=purple
我們使用 highlight 命令來定義高亮分組,后面跟上分組名和顏色模式。其中,ctermbg 表示命令行中的背景色,guibg 表示 GUI 界面中的背景色。類似的還有 ctermfg、guifg,分別表示命令行前景色和 GUI 界面前景色。
還可以直接為已有的高亮分組起別名,只需要將新的分組連接到已有的分組即可。
highlight link {newgroup} {oldgroup}
定義完高亮分組后,我們可以將它應(yīng)用到文本中。接下來,我給大家介紹幾種設(shè)置高亮的方法。
match
match 命令用于在當(dāng)前窗口中設(shè)置高亮模式,格式如下:
:match {group} /pattern/
例如,我們將所有的數(shù)字都用 myColor 分組進(jìn)行高亮顯示:
:match myColor /\v\d+/
match 命令的特點(diǎn)是同一時(shí)刻只能使用一種高亮模式,當(dāng)設(shè)置新的高亮模式時(shí),舊的高亮模式會(huì)被取消。
如果要同時(shí)高亮多個(gè)模式,可以使用 2match 和 3match 命令,它們的語法和功能與 match 相同,但每個(gè)命令每次只能設(shè)置一種高亮模式。
:2match myColor /anotherPattern/
取消高亮
:match none :2match none :3match none
syntax match
syntax match 命令用于設(shè)置語法高亮,格式如下:
:syntax match {group} pattern
例如,我們將引號(hào)包圍起來的內(nèi)容使用 myColor 分組高亮顯示:
:syntax match myColor /\v"\w+"/
取消高亮
:syntax clear
syntax keyword
syntax keyword 命令用于設(shè)置關(guān)鍵字高亮,格式如下:
:syntax keyword {group} word1 word2 ...
例如,我們把 hello 和 world 兩個(gè)單詞作為關(guān)鍵字進(jìn)行高亮:
:syntax keyword myColor hello world
取消高亮
:syntax clear
實(shí)用技巧
搜索結(jié)果高亮
Search 是匹配文本時(shí)默認(rèn)使用的高亮分組,我們可以自定義該分組的顏色,下面的代碼將使搜索結(jié)果以綠色的背景展示出來。
:highlight Search ctermbg=green guibg=green
超長文本高亮
編寫代碼時(shí),常常會(huì)遇到一行中代碼過長的情況,我們可以通過設(shè)置高亮實(shí)時(shí)檢測(cè)是否有超長的代碼。
:highlight rightMargin term=bold ctermfg=blue guifg=blue :match rightMargin /.\%>72v/
上面的命令會(huì)將一行中超過72個(gè)字的部分用藍(lán)色字體高亮顯示。
行尾空格高亮
我們經(jīng)常會(huì)遇到行尾有多余空格的情況,但正常情況下,很難發(fā)現(xiàn)這些多余的空格。使用高亮來顯示這些空格再合適不過了。
:highlight extraSpace ctermbg=red guibg=red :match extraSpace /\v\s+$/
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
linux服務(wù)器上使用nginx訪問本地靜態(tài)資源的方法
這篇文章主要介紹了linux服務(wù)器上如何使用nginx訪問本地靜態(tài)資源,本文給出了解決方法,需要的朋友可以參考下2019-12-12
Linux命令行之使光標(biāo)快速移動(dòng)的快捷鍵
這篇文章主要介紹了Linux命令行之使光標(biāo)快速移動(dòng)的快捷鍵,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
在 Apache 中創(chuàng)建單個(gè)文件的別名的操作方法
要?jiǎng)?chuàng)建 Apache 中的單個(gè)文件的別名,您可以在 Apache 配置文件中使用 Alias 指令,Alias 指令允許您將 URL 路徑映射到文件系統(tǒng)位置,該路徑可以是目錄或單個(gè)文件,本文介紹如何在 Apache 中創(chuàng)建單個(gè)文件的別名,感興趣的朋友一起看看吧2024-12-12
通過 SSH 在遠(yuǎn)程 Linux 系統(tǒng)上運(yùn)行命令的方法
這篇文章主要介紹了通過 SSH 在遠(yuǎn)程 Linux 系統(tǒng)上運(yùn)行命令的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
protobuf簡單介紹和ubuntu 16.04環(huán)境下安裝教程
protobuf是谷歌的開源序列化協(xié)議框架,結(jié)構(gòu)類似于XML,JSON這種,顯著的特點(diǎn)是二進(jìn)制的,效率高,主要用于通信協(xié)議和數(shù)據(jù)存儲(chǔ)等方面,算是一種結(jié)構(gòu)化數(shù)據(jù)的表示方法。這篇文章主要介紹了protobuf簡單介紹和ubuntu 16.04環(huán)境下安裝教程,需要的朋友可以參考下2019-06-06

