2010-07-16 46 views
7

如果我設置了cursorline選項,我會將當前光標線加下劃線,並且所有未指定顏色的字符也會變爲黃色(只有在普通高亮組未觸及時纔會顯示黃色)。我想知道,這個顏色(黃色)的定義在哪裏?我知道CursorLine突出組。問題是,在我使用它的默認色彩方案沒有定義,並且:hi CursorLine顯示光標行的顏色在哪裏定義?

CursorLine  xxx term=underline cterm=underline 

其中xxx着色爲黃色和下劃線。我不想改變顏色,我想爲2html.vim-like插件添加cursorline支持,所以我需要一些高亮組/變量/等,我可以從中獲取此黃色。

+1

屬於對superuser.com – 2010-07-16 22:18:18

+0

見下面根據您的更新我編輯的迴應。 – 2010-07-18 00:52:12

回答

6

編輯:您可以使用synIDattr()函數查詢特定高光組的大部分值。例如,這將打印分配給CursorLine前景色如果已設置:

:echo synIDattr(synIDtrans(hlID("CursorLine")), "fg") 

您還可以確定的underlineundercurl等國家,類似的電話。

幾個警告:synIDattr()是越野車和不完整。它有時會意外返回-1,並且當前不允許檢查所有屬性。 (補丁是所謂的作品爲即將舉行的Vim的版本。)請參閱這些線程的詳細資料:

Problem with synIDattr()

Programmatically detect a current "highlight" setting?

如果synIDattr()你想要什麼也不會做,它可能是容易將highlight命令的輸出重定向到一個變量,你自己分析吧:

:redir => cursorline_highlight | silent highlight CursorLine | redir END 
:echo "CursorLine highlight: " . cursorline_highlight 

:highlight CursorLine term=underline guibg=#555555 cterm=underline 

這通常是一個Vim色彩方案文件內完成的,其中包含許多這樣的線來定義顏色Vim的用戶的部分:光標線的顏色可以與highlight命令像這樣的設置界面以及字符串,數字,關鍵字等常見語法元素。

通過發出colorscheme命令後跟一個方案名稱,可以告訴Vim要使用哪種顏色方案。這裏有一些嘗試:

:colorscheme desert 
:colorscheme evening 
:colorscheme koehler 

然而,大多數colorschemes的包括在Vim中並不真正包含一大亮點命令爲CursorLine元素,所以Vim的只是使用其內置的默認cursorline着色。

要改變Vim使用cursorline的顏色,你可以在你.vimrc文件包括您自己的highlight命令(後,你發出的任何colorscheme命令,否則你的高亮色彩可能會被清除)。更好的是,你可以製作自己的colorcheme文件並在其中添加適當的高亮語句。 (很容易讓你自己找到一個可容忍的色彩方案,然後複製它,使任何變化,你喜歡的。)

Vim中包括幾個色彩方案文件,你可以找到更多的網上。下面是預覽幾百個站點:

http://code.google.com/p/vimcolorschemetest/

請參閱以下幫助主題的詳細信息:

:help :colorscheme 
:help :highlight 
:help hl-CursorLine 
0

在coloescemes的cursorline的色的特性就被稱爲「CursorLine 」。例如,袋熊色彩方案使用該行:

hi CursorLine guibg=#2d2d2d 

如果要更改默認的色彩方案,文件存儲(在大多數Linux發行版)放在/ usr/share/vim目錄/ vim72 /顏色。

只有一個注意:CursorLine選項僅適用於Vim 7以上版本,因此對於您使用7版(或Vi版)之前的版本使用該顏色的非常不可能的情況,您應該詢問colorscheme文件中的版本,例如:

if version >= 700 
    hi CursorLine guibg=#2d2d2d 
endif 
+0

當你升級,你必須保存和移動它們VIM這是不可取的改變在/ usr/share/vim目錄或任何其他系統範圍的位置的文件,否則。如果你喜歡他們中的一個,只是想改變一些東西,這個文件複製到自己的〜/ vim的/顏色/ whatever.vim(我建議你重命名爲您選擇的新名字)。現在編輯該文件並將'let g:colors_name'更改爲您爲該文件選擇的名稱,並更改/添加所需的任何高亮組。請注意,在Windows上,用戶特定的路徑將是'$ HOME \ vimfiles'。你可以看到vim在''set rtp?'運行時使用的路徑。 – cptstubing06 2013-02-03 18:01:31