我想編寫一些syn
命令在當前光標行的兩側選擇一定數量的行,因此,例如總是有一個「視口」 3條線,特別突出顯示哪裏我把光標。語法高亮顯示:匹配光標周圍的N行
我想如果可能的話,它會涉及到原子的\%#
,但我不確定如何真正使用它來做匹配。
所以基本上,我想這樣做:
:syn match ViewPort <SOME-PATTERN-PROBABLY-INVOLVING-%#>
:hi ViewPort guibg=pink
例如。我尋找的效果與cursorline
非常相似,但不僅僅是當前行,例如當前行加上面一行和下面一行(或上面兩個和下面兩個等)。
我的最終目標是要有一個「安全」的語法,使大多數文本具有相同的前景和背景顏色,以便它是有效不可見的,並且一次只有一個小窗口文本「可見」 。
你能告訴我們你有什麼,告訴我們你認爲它應該做什麼,並且如何讓它失敗? – romainl
不,我已經沒有其他東西了,這實際上只是一個'\%#'應該參與的想法。我知道如何編寫語法文件,我知道一般的正則表達式,而且我知道如何突出顯示,但我追求的是非常具體的東西,不知道如何去做。至於「如何失敗」:通過不根據光標位置選擇行來失敗。我知道你的迴應是這裏的口頭禪,在某些情況下它是非常合適的,但我認爲我的問題是有效和充分的。顯然是另一回事,是否有人能回答。 – brianmearns
請給予更多背景;你最終的目標是什麼?當問題只是一個小的技術步驟時,很難提供一個好的答案。如果你不告訴我們**你爲什麼要這麼做,很容易屈服於[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem )。爲什麼不是':爲你設置cursorline'就足夠了? –