📄 simula.vim
字号:
" Vim syntax file" Language: Simula" Maintainer: Haakon Riiser <haakon@riiser.net>" Last Change: 2001 Apr 25" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600 syn clearelseif exists("b:current_syntax") finishendif" No case sensitivity in Simulasyn case ignoresyn match simulaComment "^%.*$" contains=simulaTodosyn region simulaComment start="!\|\<comment\>" end=";" contains=simulaTodo" Text between the keyword 'end' and either a semicolon or one of the" keywords 'end', 'else', 'when' or 'otherwise' is also a commentsyn region simulaComment start="\<end\>"lc=3 matchgroup=Statement end=";\|\<\(end\|else\|when\|otherwise\)\>"syn match simulaCharError "'.\{-2,}'"syn match simulaCharacter "'.'"syn match simulaCharacter "'!\d\{-}!'" contains=simulaSpecialCharsyn match simulaString '".\{-}"' contains=simulaSpecialChar,simulaTodosyn keyword simulaBoolean true falsesyn keyword simulaCompound begin endsyn keyword simulaConditional else if otherwise then until whensyn keyword simulaConstant none notextsyn keyword simulaFunction proceduresyn keyword simulaOperator eq eqv ge gt imp in is le lt ne new not quasyn keyword simulaRepeat while forsyn keyword simulaReserved activate after at before delay go goto label prior reactivate switch tosyn keyword simulaStatement do inner inspect step thissyn keyword simulaStorageClass external hidden name protected valuesyn keyword simulaStructure classsyn keyword simulaType array boolean character integer long real short text virtualsyn match simulaAssigned "\<\h\w*\s*\((.*)\)\=\s*:\(=\|-\)"me=e-2syn match simulaOperator "[&:=<>+\-*/]"syn match simulaOperator "\<and\(\s\+then\)\=\>"syn match simulaOperator "\<or\(\s\+else\)\=\>"syn match simulaReferenceType "\<ref\s*(.\{-})"syn match simulaSemicolon ";"syn match simulaSpecial "[(),.]"syn match simulaSpecialCharErr "!\d\{-4,}!" containedsyn match simulaSpecialCharErr "!!" containedsyn match simulaSpecialChar "!\d\{-}!" contains=simulaSpecialCharErr containedsyn match simulaTodo "xxx\+" contained" Integer number (or float without `.')syn match simulaNumber "-\=\<\d\+\>"" Real with optional exponentsyn match simulaReal "-\=\<\d\+\(\.\d\+\)\=\(&&\=[+-]\=\d\+\)\=\>"" Real starting with a `.', optional exponentsyn match simulaReal "-\=\.\d\+\(&&\=[+-]\=\d\+\)\=\>"if version >= 508 || !exists("did_simula_syntax_inits") if version < 508 let did_simula_syntax_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink simulaAssigned Identifier HiLink simulaBoolean Boolean HiLink simulaCharacter Character HiLink simulaCharError Error HiLink simulaComment Comment HiLink simulaCompound Statement HiLink simulaConditional Conditional HiLink simulaConstant Constant HiLink simulaFunction Function HiLink simulaNumber Number HiLink simulaOperator Operator HiLink simulaReal Float HiLink simulaReferenceType Type HiLink simulaRepeat Repeat HiLink simulaReserved Error HiLink simulaSemicolon Statement HiLink simulaSpecial Special HiLink simulaSpecialChar SpecialChar HiLink simulaSpecialCharErr Error HiLink simulaStatement Statement HiLink simulaStorageClass StorageClass HiLink simulaString String HiLink simulaStructure Structure HiLink simulaTodo Todo HiLink simulaType Type delcommand HiLinkendiflet b:current_syntax = "simula"" vim: sts=4 sw=4 ts=8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -