2011-11-23 70 views
29

有沒有辦法在vim中突出顯示只有當前行號(在左邊coloumn中),而不突出顯示當前行的背景?理想情況下,我想使當前行號碼加粗在vim中突出顯示當前行號

+0

我不知道這一點,但你知道它在窗口的底部,是嗎? – Andrew

+0

它不在我窗口的底部。我的窗口底部只包含文本--INSERT--。您如何獲得當前文檔位置以顯示在窗口底部? – cg433n

+0

我沒有意識到它默認情況下沒有啓動,但顯然'set ruler'可能是一個命令:http://www.linuxquestions.org/questions/linux-desktop-74/show-line-and- column-numbers-in-vim-7-0-a-478231/ – Andrew

回答

30

&cursorline選項處於活動狀態時,有兩組確定突出顯示的行:CursorLineCursorLineNR。首先用於突出整行,其次是行號。因此,要實現你想要的,你必須

  1. 清除的CursorLine高亮顯示:剛剛hi clear CursorLine任何:colorschemeset background=通話後。

    hi clear CursorLine 
    augroup CLClear 
        autocmd! ColorScheme * hi clear CursorLine 
    augroup END 
    
  2. 設置的CursorLineNR高亮如果不是在你的色彩方案設置:

    hi CursorLineNR cterm=bold 
    augroup CLNRSet 
        autocmd! ColorScheme * hi CursorLineNR cterm=bold 
    augroup END 
    

    (更好地檢查它是否在色彩方案已經設置,也許它看起來在這種情況下更好)。

您可以在兩個自動命令之一中加入。

CursorLineNR已在最近版本7.3.488附近添加。

+0

聰明的解決方案。什麼是星號(在autocmd!ColorScheme之後)?我對vimscript不熟悉。 – cg433n

+0

@ChristopherGreen':h:autocmd':它會告訴你它只能模式化。一個星號表示這個自動命令將爲每個顏色方案執行。 – ZyX

+1

@ZyX感謝您的出色答案,但'CursorLineNR'適用於所有Vim版本?我試圖按照你的答案,但我不能使用Vim 7.3突出顯示當前行號。 – Yang

12

你想看看

:se cursorline 

,甚至/還

:se cursorcolumn 
+0

如何關閉該功能? –

+2

@Pétur與任何其他選項一樣,所以'''''''''''''' ':se nocursorline' – sehe

0

的幫助highlight-groups沒有提到的語法組獨有的「當前行數」,所以官方的回答可能是

您可能想看看cursorline選項,該選項突出顯示整條線,如果有幫助。

8

這是對我工作:

highlight CursorLine cterm=NONE ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE 
set cursorline 

我只是用這個在我的.vimrc已經設置的配色方案之後。當然,您也可以設置特定的背景顏色,但將它們全部設置爲NONE只會突出顯示行號(即使其更亮)。

我想你可以只使用:hi CursorLine cterm=NONE但我只是想確保我做的一切都透明(包括gvim)。

隨着CursorLineNR我可以設置突出顯示的數字的前景色和背景色。

我只寫這個,因爲對我來說它沒有任何自動命令,它可能是大多數人需要的。

+0

這是一個不錯的低影響力的方式來突出顯示這條線愛它 – f1lt3r

+0

直向前,優雅。 – Hritik