2010-05-04 71 views

回答

2

至於據我所知,可能不會直接支持設置cursorline如何突出顯示。

但是,我有一個做你想做的事。也就是說,在我們突出顯示光標行後,我們可以將行中標題/尾隨空格的顏色設置更改爲當前的「背景」和「前景」。

:match NoHighLight /^\s\+|\s\+$/ 
:highlight NoHighLight guibg=background guifg=foreground 

甲明顯的缺點是從以「Vim窗口的邊界」,「行的端部」的部分將仍然被畫成cursorline的設置的顏色。如果它是醜陋的人,你,你可以僅通過設置它的guifg,像改變cursorline的亮點設置:

:highlight CursorLine guifg=red guibg=background 

可能還有其他的整齊的解決方案存在,但,這是我想出現在。 :)

希望有所幫助。

1

我已經找到了解決辦法 -

關於@昭君的回答是:這不是我想要的東西(也/^\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\+$/ 
+0

/^ \ S \ + | \ S \ + $ /意味着它無論是前導空格和尾隨空格。 「|」是「OR」,所以它不能被轉義爲「\ |」。 在發佈我的解決方案之前,我已經做了一些基本測試,並且它很好地匹配了前導空格和尾隨空格。 所以,我不知道它爲什麼不適合你。 也許,你可以在這裏粘貼一些文字,這樣我就可以找出原因。 – Zhaojun 2010-05-06 02:57:00

+0

'|'在vim的正則表達式語言(:help regex,/ |,/ \\ |)中是imho not OR 一些示例代碼: 「import os \ n for os.environ.keys():\ n \ tprint e」 – pingi 2010-05-06 07:00:22

+0

對「|」進行錯誤陳述感到抱歉。對於你的問題,更簡單的解決方案可能只是將「guifg」設置爲某種不同的顏色,並使「guibg」不變。例如: :highlight CursorLine guifg = red guibg = background 在此解決方案中,所有空格都將被忽略,因爲它們將顯示爲背景顏色,所以我們根本不需要匹配那些空格。 – Zhaojun 2010-05-12 11:16:20