![](/img/trans.png)
[英]vim: How do I syntax highlight a line so that one part of it is formatted as A and the other part is formatted as B?
[英]How do I make vim syntax highlight a whole line?
我想讓vim突出顯示符合某些模式的整行。 我可以在一行中顯示所有文本以突出顯示(通過執行syn match MyMatch "^.*text-to-match.*$"
),但它始終在文本末尾停止。 我想繼續這個術語的結尾,就像突出顯示CursorLine一樣。
我試過用\\n^
替換$
,希望能將它包裹起來。 沒變。 (我實際上並不認為這會起作用,但嘗試沒有任何害處。)我也嘗試調整syn-pattern-offset(我在這里讀到: http : //vimdoc.sourceforge.net/htmldoc/syntax。 html#:syn-pattern )。 長話短說,添加he=he-5
將突出顯示5個更少的字符,但是he=he+5
沒有顯示任何額外字符,因為沒有要突出顯示的字符。
這是我第一次嘗試制作vim語法,而且我對vim相對較新。 請保持溫和,並附上解釋。
謝謝!
(編輯:忘了包含,這是一個多行高亮。這可能會增加一點復雜性。)
它不是很適應,因為需要明確標識文件名(緩沖區)和行到整行高亮,但顯然可以使用sign命令:
可以使用:符號機制突出顯示整行。
可以在以下位置找到示例:help sign-commands
簡而言之:
:sign define wholeline linehl=ErrorMsg
:sign place 1 name=wholeline line=123 file=thisfile.txt
顯然,你應該選擇一個higlight組來改變linehl參數的背景顏色。
從syn-pattern
的文檔:
突出顯示的區域永遠不會出現在匹配的文本之外。
如果你讓這個工作起來我會感到很驚訝,但是再一次,Vim總是充滿了驚喜。
也可以嘗試:設置cursorline:設置cursorcolumn更改顏色如下:: hi cursorline:hi cursorcolumn使用通常的term =,ctermfg =,ctermbg =等查看此答案VIM突出顯示整個當前行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.