📄 bib.vim
字号:
" Vim syntax file" Language: BibTeX (bibliographic database format for (La)TeX)" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>" Filenames: *.bib" Last Change: Apr 26, 2001" URL: http://home.t-online.de/home/Bernd.Feige/bib.vim" Thanks to those who pointed out problems with this file or supplied fixes!" Initialization" ==============" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600 syntax clearelseif exists("b:current_syntax") finishendif" Ignore casesyn case ignore" Keywords" ========syn keyword bibType contained article book booklet conference inbooksyn keyword bibType contained incollection inproceedings manualsyn keyword bibType contained mastersthesis misc phdthesissyn keyword bibType contained proceedings techreport unpublishedsyn keyword bibType contained stringsyn keyword bibEntryKw contained address annote author booktitle chaptersyn keyword bibEntryKw contained crossref edition editor howpublishedsyn keyword bibEntryKw contained institution journal key month notesyn keyword bibEntryKw contained number organization pages publishersyn keyword bibEntryKw contained school series title type volume year" Non-standard:syn keyword bibNSEntryKw contained abstract isbn issn keywords url" Clusters" ========syn cluster bibVarContents contains=bibUnescapedSpecial,bibBrace,bibParen" This cluster is empty but things can be added externally:"syn cluster bibCommentContents" Matches" =======syn match bibUnescapedSpecial contained /[^\\][%&]/hs=s+1syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibFieldsyn match bibVariable contained /[^{}," \t=]/syn region bibComment start=/^/ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntrysyn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContentssyn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContentssyn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContentssyn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariablesyn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce" an error, so we explicitly distinguish versions with and without folding functionality:if version < 600 syn region bibEntry start=/@\S\+[{(]/ end=/^\s*[})]/ transparent contains=bibType,bibEntryData nextgroup=bibCommentelse syn region bibEntry start=/@\S\+[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibCommentendif" Synchronization" ===============syn sync match All grouphere bibEntry /^\s*@/syn sync maxlines=200syn sync minlines=50" Highlighting defaults" =====================" Define the default highlighting." For version 5.7 and earlier: only when not done already" For version 5.8 and later: only when an item doesn't have highlighting yetif version >= 508 || !exists("did_bib_syn_inits") if version < 508 let did_bib_syn_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink bibType Identifier HiLink bibEntryKw Statement HiLink bibNSEntryKw PreProc HiLink bibKey Special HiLink bibVariable Constant HiLink bibUnescapedSpecial Error HiLink bibComment Comment delcommand HiLinkendiflet b:current_syntax = "bib"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -