vim搜尋-為遊標下的文字設定不同的顏色

vim搜尋-為遊標下的文字設定不同的顏色

假設 vim 搜尋在我的文件中找到 5 個匹配項。我看到所有 5 場比賽都以黃色突出顯示。我透過按 在這些之間循環n。但是,當我的遊標從一個匹配項移動到下一個匹配項時,突出顯示的顏色都保持相同。這使得很難看到我的遊標所在的匹配項。有沒有辦法告訴 vim 用一種顏色突出顯示所有匹配項,並且如果使用 訪問匹配項n,則為當前訪問的匹配項設置不同的顏色?

答案1

沒有內建選項允許以不同的方式突出顯示當前內容。建立搜尋時,您可以'incsearch'選擇,但僅此而已。

您可以在搜尋突出顯示之上使用另一種突出顯示,例如使用:match;特殊的\%#正​​規表示式原子將匹配限制為當前遊標位置:

:execute 'match IncSearch /\%#' . @/ . '/'

這樣做的問題是,只要當前搜尋模式 ( @/) 發生變化,就需要調整突出顯示(哦,它不處理像 那樣的搜尋偏移量/foo/e-1)。因此,您需要覆蓋所有與搜尋相關的命令(/*等)以將:match命令掛接到其中。我不會推薦這個。

相關內容