diff --git a/runtime/syntax/simula.vim b/runtime/syntax/simula.vim
new file mode 100644
index 0000000..e952ee2
--- /dev/null
+++ b/runtime/syntax/simula.vim
@@ -0,0 +1,99 @@
+" Vim syntax file
+" Language:	Simula
+" Maintainer:	Haakon Riiser <hakonrk@fys.uio.no>
+" URL:		http://folk.uio.no/hakonrk/vim/syntax/simula.vim
+" Last Change:	2001 May 15
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+    syn clear
+elseif exists("b:current_syntax")
+    finish
+endif
+
+" No case sensitivity in Simula
+syn case	ignore
+
+syn match	simulaComment		"^%.*$" contains=simulaTodo
+syn 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 comment
+syn 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=simulaSpecialChar
+syn match	simulaString		'".\{-}"' contains=simulaSpecialChar,simulaTodo
+
+syn keyword	simulaBoolean		true false
+syn keyword	simulaCompound		begin end
+syn keyword	simulaConditional	else if otherwise then until when
+syn keyword	simulaConstant		none notext
+syn keyword	simulaFunction		procedure
+syn keyword	simulaOperator		eq eqv ge gt imp in is le lt ne new not qua
+syn keyword	simulaRepeat		while for
+syn keyword	simulaReserved		activate after at before delay go goto label prior reactivate switch to
+syn keyword	simulaStatement		do inner inspect step this
+syn keyword	simulaStorageClass	external hidden name protected value
+syn keyword	simulaStructure		class
+syn keyword	simulaType		array boolean character integer long real short text virtual
+syn match	simulaAssigned		"\<\h\w*\s*\((.*)\)\=\s*:\(=\|-\)"me=e-2
+syn 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,}!" contained
+syn match	simulaSpecialCharErr	"!!" contained
+syn match	simulaSpecialChar	"!\d\{-}!" contains=simulaSpecialCharErr contained
+syn match	simulaTodo		"xxx\+" contained
+
+" Integer number (or float without `.')
+syn match	simulaNumber		"-\=\<\d\+\>"
+" Real with optional exponent
+syn match	simulaReal		"-\=\<\d\+\(\.\d\+\)\=\(&&\=[+-]\=\d\+\)\=\>"
+" Real starting with a `.', optional exponent
+syn 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 HiLink
+endif
+
+let b:current_syntax = "simula"
+" vim: sts=4 sw=4 ts=8
