我使用ViM's:突出顯示CursorLine以更改當前行上的bg顏色。但有時文本不可讀。ViM中的CursorLine突出顯示,僅突出顯示行的開始/結尾處的行號和空格/製表符
我想要一個突出顯示,只能改變整個行的背景顏色,除了文本(計算字符之間的空格/製表符作爲文本)。
它可行嗎?如果是,如何?
我使用ViM's:突出顯示CursorLine以更改當前行上的bg顏色。但有時文本不可讀。ViM中的CursorLine突出顯示,僅突出顯示行的開始/結尾處的行號和空格/製表符
我想要一個突出顯示,只能改變整個行的背景顏色,除了文本(計算字符之間的空格/製表符作爲文本)。
它可行嗎?如果是,如何?
至於據我所知,可能不會直接支持設置cursorline如何突出顯示。
但是,我有一個做你想做的事。也就是說,在我們突出顯示光標行後,我們可以將行中標題/尾隨空格的顏色設置更改爲當前的「背景」和「前景」。
:match NoHighLight /^\s\+|\s\+$/
:highlight NoHighLight guibg=background guifg=foreground
甲明顯的缺點是從以「Vim窗口的邊界」,「行的端部」的部分將仍然被畫成cursorline的設置的顏色。如果它是醜陋的人,你,你可以僅通過設置它的guifg,像改變cursorline的亮點設置:
:highlight CursorLine guifg=red guibg=background
可能還有其他的整齊的解決方案存在,但,這是我想出現在。 :)
希望有所幫助。
我已經找到了解決辦法 -
關於@昭君的回答是:這不是我想要的東西(也/^\s\+|\s\+$/
沒有做太多,也許應該是/^\s\+\|\s\+$/
)
我找到的解決方案是(對於elflord配色方案只是舉例顏色)
:highlight CursorLine gui=none guibg=grey10
:set CursorLine
:highlight NoHighLight guibg=background
:match NoHighLight /\S\+\(\s\+\|$\)/
它不但是在他行的末尾尾隨空格運作良好,但我通常將它們刪除
讓他們看到我用下面的
:highlight EndSpaces guibg=green
:match EndSpaces /\s\+$/
/^ \ S \ + | \ S \ + $ /意味着它無論是前導空格和尾隨空格。 「|」是「OR」,所以它不能被轉義爲「\ |」。 在發佈我的解決方案之前,我已經做了一些基本測試,並且它很好地匹配了前導空格和尾隨空格。 所以,我不知道它爲什麼不適合你。 也許,你可以在這裏粘貼一些文字,這樣我就可以找出原因。 – Zhaojun 2010-05-06 02:57:00
'|'在vim的正則表達式語言(:help regex,/ |,/ \\ |)中是imho not OR 一些示例代碼: 「import os \ n for os.environ.keys():\ n \ tprint e」 – pingi 2010-05-06 07:00:22
對「|」進行錯誤陳述感到抱歉。對於你的問題,更簡單的解決方案可能只是將「guifg」設置爲某種不同的顏色,並使「guibg」不變。例如: :highlight CursorLine guifg = red guibg = background 在此解決方案中,所有空格都將被忽略,因爲它們將顯示爲背景顏色,所以我們根本不需要匹配那些空格。 – Zhaojun 2010-05-12 11:16:20