vim html 模板,html.vim

本文介绍了如何使用Vim的HTML.vim插件进行语法高亮和智能标签插入,涵盖了HTML标签、语法匹配、注释处理和特定版本兼容性。通过HtmlHiLink函数实现不同版本间的语法同步,提升编程体验。
摘要由CSDN通过智能技术生成

" Vim syntax file

" Language:HTML" Maintainer:Claudio Fleiner " URL:http://www.fleiner.com/vim/syntax/html.vim" Last Change:  2006 Jun 19 " Please check :help html.vim for some comments and a description of the options " For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif !exists("main_syntax")  if version < 600    syntax clear  elseif exists("b:current_syntax")    finish  endif  let main_syntax = 'html'endif " don't use standard HiLink, it will not work with included syntax filesif version < 508  command! -nargs=+ HtmlHiLink hi link else  command! -nargs=+ HtmlHiLink hi def link endif syntax spell toplevel syn case ignore " mark illegal characterssyn match htmlError "[<>&]"  " tagssyn region  htmlString   contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreprocsyn region  htmlString   contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreprocsyn match   htmlValue    contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1   contains=javaScriptExpression,@htmlPreprocsyn region  htmlEndTag             start=++      end=+>+ contains=htmlTagN,htmlTagErrorsyn region  htmlTag                start=++ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgClustersyn match   htmlTagN     contained +]" " new html 4.0 tagssyn keyword htmlTagName contained abbr acronym bdo button col labelsyn keyword htmlTagName contained colgroup del fieldset iframe ins legendsyn keyword htmlTagName contained object optgroup q s tbody tfoot thead " legal arg namessyn keyword htmlArg contained actionsyn keyword htmlArg contained align alink alt archive background bgcolorsyn keyword htmlArg contained border bordercolor cellpaddingsyn keyword htmlArg contained cellspacing checked class clear code codebase colorsyn keyword htmlArg contained cols colspan content coords enctype facesyn keyword htmlArg contained gutter height hspace idsyn keyword htmlArg contained link lowsrc marginheightsyn keyword htmlArg contained marginwidth maxlength method name promptsyn keyword htmlArg contained rel rev rows rowspan scrolling selected shapesyn keyword htmlArg contained size src start target text type urlsyn keyword htmlArg contained usemap ismap valign value vlink vspace width wrapsyn match   htmlArg contained "\" " Microsoft extensionssyn keyword htmlTagName contained marquee " html 4.0 arg namessyn match   htmlArg contained "\"syn keyword htmlArg contained abbr accept accesskey axis char charoff charsetsyn keyword htmlArg contained cite classid codetype compact data datetimesyn keyword htmlArg contained declare defer dir disabled for framesyn keyword htmlArg contained headers hreflang lang language longdescsyn keyword htmlArg contained multiple nohref nowrap object profile readonlysyn keyword htmlArg contained rules scheme scope span standby stylesyn keyword htmlArg contained summary tabindex valuetype version " special characterssyn match htmlSpecialChar "\=[0-9A-Za-z]\{1,8};" " Comments (the real ones or the old netscape ones)if exists("html_wrong_comments")  syn region htmlComment                start=++ contains=htmlPreStmt,htmlPreError,htmlPreAttrsyn match htmlPreStmt contained "\)"  syn region htmlCssDefinition matchgroup=htmlArg start='' contains=css.*Attr,css.*Prop,cssComment,cssLength,cssColor,cssURL,cssImportant,cssError,cssString,@htmlPreproc  HtmlHiLink htmlStyleArg htmlStringendif if main_syntax == "html"  " synchronizing (does not always work if a comment includes legal  " html tags, but doing it right would mean to always start  " at the first line, which is too slow)  syn sync match htmlHighlight groupthere NONE "= 508 || !exists("did_html_syn_inits")  if version < 508    let did_html_syn_inits = 1  endif  HtmlHiLink htmlTag                     Function  HtmlHiLink htmlEndTag                  Identifier  HtmlHiLink htmlArg                     Type  HtmlHiLink htmlTagName                 htmlStatement  HtmlHiLink htmlSpecialTagName          Exception  HtmlHiLink htmlValue                     String  HtmlHiLink htmlSpecialChar             Special    if !exists("html_no_rendering")    HtmlHiLink htmlH1                      Title    HtmlHiLink htmlH2                      htmlH1    HtmlHiLink htmlH3                      htmlH2    HtmlHiLink htmlH4                      htmlH3    HtmlHiLink htmlH5                      htmlH4    HtmlHiLink htmlH6                      htmlH5    HtmlHiLink htmlHead                    PreProc    HtmlHiLink htmlTitle                   Title    HtmlHiLink htmlBoldItalicUnderline     htmlBoldUnderlineItalic    HtmlHiLink htmlUnderlineBold           htmlBoldUnderline    HtmlHiLink htmlUnderlineItalicBold     htmlBoldUnderlineItalic    HtmlHiLink htmlUnderlineBoldItalic     htmlBoldUnderlineItalic    HtmlHiLink htmlItalicUnderline         htmlUnderlineItalic    HtmlHiLink htmlItalicBold              htmlBoldItalic    HtmlHiLink htmlItalicBoldUnderline     htmlBoldUnderlineItalic    HtmlHiLink htmlItalicUnderlineBold     htmlBoldUnderlineItalic    HtmlHiLink htmlLink                    Underlined    if !exists("html_my_rendering")      hi def htmlBold                term=bold cterm=bold gui=bold      hi def htmlBoldUnderline       term=bold,underline cterm=bold,underline gui=bold,underline      hi def htmlBoldItalic          term=bold,italic cterm=bold,italic gui=bold,italic      hi def htmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline      hi def htmlUnderline           term=underline cterm=underline gui=underline      hi def htmlUnderlineItalic     term=italic,underline cterm=italic,underline gui=italic,underline      hi def htmlItalic              term=italic cterm=italic gui=italic    endif  endif    HtmlHiLink htmlPreStmt            PreProc  HtmlHiLink htmlPreError           Error  HtmlHiLink htmlPreProc            PreProc  HtmlHiLink htmlPreAttr            String  HtmlHiLink htmlPreProcAttrName    PreProc  HtmlHiLink htmlPreProcAttrError   Error  HtmlHiLink htmlSpecial            Special  HtmlHiLink htmlSpecialChar        Special  HtmlHiLink htmlString             String  HtmlHiLink htmlStatement          Statement  HtmlHiLink htmlComment            Comment  HtmlHiLink htmlCommentPart        Comment  HtmlHiLink htmlValue              String  HtmlHiLink htmlCommentError       htmlError  HtmlHiLink htmlTagError           htmlError  HtmlHiLink htmlEvent              javaScript  HtmlHiLink htmlError              Error    HtmlHiLink javaScript             Special  HtmlHiLink javaScriptExpression   javaScript  HtmlHiLink htmlCssStyleComment    Comment  HtmlHiLink htmlCssDefinition      Specialendif delcommand HtmlHiLink let b:current_syntax = "html" if main_syntax == 'html'  unlet main_syntaxendif " vim: ts=8   "自动匹配HTML标签function! InsertHtmlTag()        let pat = '\c'        normal! a>        let save_cursor = getpos('.')        let result = matchstr(getline(save_cursor[1]), pat)        "if (search(pat, 'b', save_cursor[1]) && searchpair('','bn',0,  getline('.')) > 0)        if (search(pat, 'b', save_cursor[1]))           normal! lyiwf>           normal! a           normal! p           normal! a>        endif        :call cursor(save_cursor[1], save_cursor[2], save_cursor[3])endfunctioninoremap > :call InsertHtmlTag()a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值