我想改變我的vim配置文件,只允許突出顯示我聲明的變量,而不是關鍵字。本文展示並解釋我的意思:Alternate syntax highlightingVim變量語法突出顯示
我是vim的初學者(我從來沒有改變默認配置文件)。 任何人都可以指向正確的方向嗎?
我想改變我的vim配置文件,只允許突出顯示我聲明的變量,而不是關鍵字。本文展示並解釋我的意思:Alternate syntax highlightingVim變量語法突出顯示
我是vim的初學者(我從來沒有改變默認配置文件)。 任何人都可以指向正確的方向嗎?
由於概念證明,我試過
let vars = ['init', 'editable', 'init_ui']
let colors = ['ff0000', '00ff00', '0000ff']
for var in vars
execute 'syn keyword var_' . var var
execute 'hi default var_' . var 'guifg=#' . remove(colors, 0)
endfor
和它的工作如預期。這爲列表中的每個變量創建了語法項目:var_init
,var_editable
和var_init_ui
。然後它爲每個語法項目分配一個高亮顏色。
爲了超越概念驗證,您必須獲取變量名稱列表。你可以通過解析一個標籤文件(例如ctags產生的)或者通過在vim中編寫一個解析器(這將是非常便攜的)來做到這一點。您可以對列表進行排序並刪除重複項,但如果跳過此步驟,我認爲使用:hi default
會節省您的時間。想出一個比我的例子更好的生成顏色的方法。
當輸入緩衝區或用戶顯式調用函數時,您可以使用自動命令來執行所有這些操作。然後,您可以在定義新變量時開始考慮自動更新。
試試這個:http://www.vim.org/scripts/script.php?script_id=4945 – evilspacepirate
Benjifisher的答案概述瞭如何實現,但這仍然是一項重大努力,並且初學者可能遙不可及。但是,作爲評論中推薦的majkinetor,我的Mark plugin將允許您通過手動(取消)標記對「有趣」變量名稱快速設置不同的顏色(默認映射爲<Leader>m
,通常轉換爲\,之後是。中號我在你~/.vimrc
故障排除的日誌文件時要使用這個自己理解代碼的複雜零件或
用下面的命令,你可以提供多達77層不同的顏色:
let g:mwDefaultHighlightingPalette = 'maximum'
有這樣一個插件:https://github.com/jaxbot/semantic-highlight.vim
其中每個變量都是不同的顏色,這個想法被Evan Brooks的博客文章所推廣。
它強調關鍵字,但不包括變量,如果你有其他語法加亮vimscript加載。測試ES6的JavaScript。 – Pencilcheck
看看這個[wiki](http://vim.wikia.com/wiki/Vim_Tips_Wiki)。 – FlyingFoX
可能不是:https://groups.google.com/forum/#!topic/vim_dev/vULHSjFRmyc – mMontu
這種類型的highlightig在vim中不可用...但可能是插件的好主意。雖然 – mihai