我想知道如何設置vim來爲新的html5元素(即「canvas」和「video」)着色,就像它與現有的「script」,「body 「元素(或其他語言中的保留字,如python的」def「)等等。當前版本來自通常用於終端仿真器的MacPorts。如何將Vim更新爲顏色代碼新的html元素
回答
html.vim
是Vim諮詢確定哪些標籤將被着色的語法文件。這個位置取決於您安裝的Vim。在這個語法文件中,您會看到許多如下所示的行:
" new html 4.0 tags
syn keyword htmlTagName contained abbr acronym bdo button col label
syn keyword htmlTagName contained colgroup del fieldset iframe ins legend
syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
這些行定義了語法關鍵字。在這種情況下,他們專門定義HTML標籤名稱。第一行告訴Vim顏色abbr
,acronym
,bdo
,button
,col
和label
標籤。你可以告訴Vim顏色附加標籤的語法如下:
" new html 5 tags
syn keyword htmlTagName contained video canvas
現在,Vim將顏色video
和canvas
標籤和你添加任何額外的關鍵字。
但是,如果您更新內置的html.vim
,它將在您下次更新Vim時被覆蓋,因此最佳做法是將您的規則附加到這些內置的規則。爲此,請在.vim
文件夾中創建文件夾路徑after/syntax
,並在其中放置html.vim
。
以下@ user240515提到的這個gist中有大量的HTML 5元素和參數。將這些內容粘貼到新創建的html.vim
中。
諮詢:help html.vim
瞭解更多信息。
感謝這個問題,並感謝您接受的答案!這是新標籤的完整列表添加對HTML 5,因爲它們是在寫作的時候定義:
" new html 5 tags
syn keyword htmlTagName contained article aside audio canvas command datalist
syn keyword htmlTagName contained details embed figcaption figure footer header
syn keyword htmlTagName contained hgroup keygen mark meter nav output progress
syn keyword htmlTagName contained rp rt ruby section source summary time video
我只是要試試這個:
http://github.com/othree/html5.vim
似乎相當完整。
編輯:我沒有看到任何關於縮進。 :(
EDIT [2012年12月23日]:我做的:)但也許就是後來補充說:https://github.com/othree/html5.vim/tree/master/indent
壓痕可以使用類似於由michaelmichael用於擴展html.vim
語法文件中描述的方法來支持。如果您的~/.vim/indent
中沒有html.vim
,則可以使用here的內容創建它。內~/.vim/indent/html.vim
,你會看到一個函數調用集組裝,看起來像下面的HTML元素的名稱列表:
" [-- <ELEMENT ? - - ...> --]
call <SID>HtmlIndentPush('a')
call <SID>HtmlIndentPush('abbr')
call <SID>HtmlIndentPush('acronym')
call <SID>HtmlIndentPush('address')
" ...and many more...
這些行定義將觸發基本標籤縮進標記。使用任何您希望觸發縮進的HTML5標記擴展此列表。我添加了下面這個列表的末尾:
" New HTML 5 elements
call<SID>HtmlIndentPush('table')
call<SID>HtmlIndentPush('article')
call<SID>HtmlIndentPush('aside')
call<SID>HtmlIndentPush('audio')
call<SID>HtmlIndentPush('canvas')
call<SID>HtmlIndentPush('command')
call<SID>HtmlIndentPush('datalist')
call<SID>HtmlIndentPush('details')
call<SID>HtmlIndentPush('embed')
call<SID>HtmlIndentPush('figcaption')
call<SID>HtmlIndentPush('figure')
call<SID>HtmlIndentPush('footer')
call<SID>HtmlIndentPush('header')
call<SID>HtmlIndentPush('hgroup')
call<SID>HtmlIndentPush('keygen')
call<SID>HtmlIndentPush('mark')
call<SID>HtmlIndentPush('meter')
call<SID>HtmlIndentPush('nav')
call<SID>HtmlIndentPush('output')
call<SID>HtmlIndentPush('progress')
call<SID>HtmlIndentPush('rp')
call<SID>HtmlIndentPush('rt')
call<SID>HtmlIndentPush('ruby')
call<SID>HtmlIndentPush('section')
call<SID>HtmlIndentPush('source')
call<SID>HtmlIndentPush('summary')
call<SID>HtmlIndentPush('time')
call<SID>HtmlIndentPush('video')
縮進現在來對上面列出的HTML5標籤觸發。
根據上面的建議,我添加了一個html5縮進文件到othree/html5.vim的分支。
的syntax/html.vim
文件附帶vim(8.0)是非常過時。保持語法高亮更新的好方法是使用一個維護良好的插件,例如vim-polygot,它保持更新。這是html.vim syntax支持,canvas
,video
, section
和main
(其他答案不支持),僅舉幾例。
- 1. 如何檢查Appium中元素的顏色代碼/顏色?
- 2. 將顏色更改爲所選元素
- 3. 如何將我的UIButton背景顏色更新爲特定的顏色代碼0xff64b5f6
- 4. 如何更改所選代碼的顏色(Vim方案)?
- 5. 將RGBA顏色轉換爲HTML顏色代碼
- 6. 如何使用jQuery更新HTML元素?
- 7. Javascript - 如何更新元素內部html?
- 8. 如何更改MFMessageComposeViewController元素的顏色?
- 9. 如何將rgb轉換爲html顏色代碼android
- 10. 如何將字符串轉換爲html顏色代碼散列?
- 11. 如何在刷新頁面時將a:visited的顏色更改爲其父顏色
- 12. 如何刷新html元素?
- 13. 如何製作一個將元素的背景顏色設置爲innerhtml顏色代碼的JavaScript?
- 14. 如何更新HTML代碼到MySQL場
- 15. 如何更新div元素中html元素的id和名稱?
- 16. 如何更改HTML表單中某些元素的顏色
- 17. 更新後更改窗體背景顏色的VBA代碼
- 18. 如何更改元素樣式顏色
- 19. 更新model3d元素的顏色的有效方法
- 20. 如何動態更新SeekBar的顏色?
- 21. 如何更新ToggleButton內容的顏色?
- 22. Sharepoint單元格更改顏色代碼
- 23. 如何更改Vim中的Python顏色?
- 24. 將我的html元素設爲不同的背景顏色。
- 25. 如何更新JSON元素
- 26. 如何更新元素
- 27. 如何臨時更改添加到DOM的新元素的背景顏色?
- 28. 如何更改文本顏色代碼?
- 29. 想要將HTML元素的顏色從紅色更改爲綠色,然後再次變爲紅色
- 30. 更改vim的linestatus顏色
謝謝mikemike – unmounted 2010-07-13 23:16:54
@michaelmichael謝謝,但對我來說不起作用,我在他的回答中加入了@johan說的幾句話,但我沒有在'