diff --git a/runtime/syntax/st.vim b/runtime/syntax/st.vim
new file mode 100644
index 0000000..d629eb4
--- /dev/null
+++ b/runtime/syntax/st.vim
@@ -0,0 +1,102 @@
+" Vim syntax file
+" Language:	Smalltalk
+" Maintainer:	Arndt Hesse <hesse@self.de>
+" Last Change:	2001 May 09
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" some Smalltalk keywords and standard methods
+syn keyword	stKeyword	super self class true false new not
+syn keyword	stKeyword	notNil isNil inspect out nil
+syn match	stMethod	"\<do\>:"
+syn match	stMethod	"\<whileTrue\>:"
+syn match	stMethod	"\<whileFalse\>:"
+syn match	stMethod	"\<ifTrue\>:"
+syn match	stMethod	"\<ifFalse\>:"
+syn match	stMethod	"\<put\>:"
+syn match	stMethod	"\<to\>:"
+syn match	stMethod	"\<at\>:"
+syn match	stMethod	"\<add\>:"
+syn match	stMethod	"\<new\>:"
+syn match	stMethod	"\<for\>:"
+syn match	stMethod	"\<methods\>:"
+syn match	stMethod	"\<methodsFor\>:"
+syn match	stMethod	"\<instanceVariableNames\>:"
+syn match	stMethod	"\<classVariableNames\>:"
+syn match	stMethod	"\<poolDictionaries\>:"
+syn match	stMethod	"\<subclass\>:"
+
+" the block of local variables of a method
+syn region stLocalVariables	start="^[ \t]*|" end="|"
+
+" the Smalltalk comment
+syn region stComment	start="\"" end="\""
+
+" the Smalltalk strings and single characters
+syn region stString	start='\'' skip="''" end='\''
+syn match  stCharacter	"$."
+
+syn case ignore
+
+" the symols prefixed by a '#'
+syn match  stSymbol	"\(#\<[a-z_][a-z0-9_]*\>\)"
+syn match  stSymbol	"\(#'[^']*'\)"
+
+" the variables in a statement block for loops
+syn match  stBlockVariable "\(:[ \t]*\<[a-z_][a-z0-9_]*\>[ \t]*\)\+|" contained
+
+" some representations of numbers
+syn match  stNumber	"\<\d\+\(u\=l\=\|lu\|f\)\>"
+syn match  stFloat	"\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
+syn match  stFloat	"\<\d\+e[-+]\=\d\+[fl]\=\>"
+
+syn case match
+
+" a try to higlight paren mismatches
+syn region stParen	transparent start='(' end=')' contains=ALLBUT,stParenError
+syn match  stParenError	")"
+syn region stBlock	transparent start='\[' end='\]' contains=ALLBUT,stBlockError
+syn match  stBlockError	"\]"
+syn region stSet	transparent start='{' end='}' contains=ALLBUT,stSetError
+syn match  stSetError	"}"
+
+hi link stParenError stError
+hi link stSetError stError
+hi link stBlockError stError
+
+" synchronization for syntax analysis
+syn sync minlines=50
+
+" 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 yet
+if version >= 508 || !exists("did_st_syntax_inits")
+  if version < 508
+    let did_st_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink stKeyword		Statement
+  HiLink stMethod		Statement
+  HiLink stComment		Comment
+  HiLink stCharacter		Constant
+  HiLink stString		Constant
+  HiLink stSymbol		Special
+  HiLink stNumber		Type
+  HiLink stFloat		Type
+  HiLink stError		Error
+  HiLink stLocalVariables	Identifier
+  HiLink stBlockVariable	Identifier
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "st"
