diff --git a/runtime/syntax/awk.vim b/runtime/syntax/awk.vim
new file mode 100644
index 0000000..00a689d
--- /dev/null
+++ b/runtime/syntax/awk.vim
@@ -0,0 +1,216 @@
+" Vim syntax file
+" Language:	awk, nawk, gawk, mawk
+" Maintainer:	Antonio Colombo <antonio.colombo@jrc.it>
+" Last Change:	2002 Jun 23
+
+" AWK  ref.  is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger
+" The AWK Programming Language, Addison-Wesley, 1988
+
+" GAWK ref. is: Arnold D. Robbins
+" Effective AWK Programming, Third Edition, O'Reilly, 2001
+
+" MAWK is a "new awk" meaning it implements AWK ref.
+" mawk conforms to the Posix 1003.2 (draft 11.3)
+" definition of the AWK language which contains a few features
+" not described in the AWK book, and mawk provides a small number of extensions.
+
+" TODO:
+" Dig into the commented out syntax expressions below.
+
+" 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
+
+" A bunch of useful Awk keywords
+" AWK  ref. p. 188
+syn keyword awkStatement	break continue delete exit
+syn keyword awkStatement	function getline next
+syn keyword awkStatement	print printf return
+" GAWK ref. p. 117
+syn keyword awkStatement	nextfile
+" AWK  ref. p. 42, GAWK ref. p. 142-166
+syn keyword awkFunction	atan2 close cos exp fflush int log rand sin sqrt srand
+syn keyword awkFunction	gsub index length match split sprintf sub
+syn keyword awkFunction	substr system
+" GAWK ref. p. 142-166
+syn keyword awkFunction	asort gensub mktime strftime strtonum systime
+syn keyword awkFunction	tolower toupper
+syn keyword awkFunction	and or xor compl lshift rshift
+syn keyword awkFunction	dcgettext bindtextdomain
+
+syn keyword awkConditional	if else
+syn keyword awkRepeat	while for
+
+syn keyword awkTodo		contained TODO
+
+syn keyword awkPatterns	BEGIN END
+" AWK  ref. p. 36
+syn keyword awkVariables	ARGC ARGV FILENAME FNR FS NF NR
+syn keyword awkVariables	OFMT OFS ORS RLENGTH RS RSTART SUBSEP
+" GAWK ref. p. 120-126
+syn keyword awkVariables	ARGIND BINMODE CONVFMT ENVIRON ERRNO
+syn keyword awkVariables	FIELDWIDTHS IGNORECASE LINT PROCINFO
+syn keyword awkVariables	RT RLENGTH TEXTDOMAIN
+
+syn keyword awkRepeat	do
+
+" Octal format character.
+syn match   awkSpecialCharacter display contained "\\[0-7]\{1,3\}"
+syn keyword awkStatement	func nextfile
+" Hex   format character.
+syn match   awkSpecialCharacter display contained "\\x[0-9A-Fa-f]\+"
+
+syn match   awkFieldVars	"\$\d\+"
+
+"catch errors caused by wrong parenthesis
+syn region	awkParen	transparent start="(" end=")" contains=ALLBUT,awkParenError,awkSpecialCharacter,awkArrayElement,awkArrayArray,awkTodo,awkRegExp,awkBrktRegExp,awkBrackets,awkCharClass
+syn match	awkParenError	display ")"
+syn match	awkInParen	display contained "[{}]"
+
+" 64 lines for complex &&'s, and ||'s in a big "if"
+syn sync ccomment awkParen maxlines=64
+
+" Search strings & Regular Expressions therein.
+syn region  awkSearch	oneline start="^[ \t]*/"ms=e start="\(,\|!\=\~\)[ \t]*/"ms=e skip="\\\\\|\\/" end="/" contains=awkBrackets,awkRegExp,awkSpecialCharacter
+syn region  awkBrackets	contained start="\[\^\]\="ms=s+2 start="\[[^\^]"ms=s+1 end="\]"me=e-1 contains=awkBrktRegExp,awkCharClass
+syn region  awkSearch	oneline start="[ \t]*/"hs=e skip="\\\\\|\\/" end="/" contains=awkBrackets,awkRegExp,awkSpecialCharacter
+
+syn match   awkCharClass	contained "\[:[^:\]]*:\]"
+syn match   awkBrktRegExp	contained "\\.\|.\-[^]]"
+syn match   awkRegExp	contained "/\^"ms=s+1
+syn match   awkRegExp	contained "\$/"me=e-1
+syn match   awkRegExp	contained "[?.*{}|+]"
+
+" String and Character constants
+" Highlight special characters (those which have a backslash) differently
+syn region  awkString	start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=awkSpecialCharacter,awkSpecialPrintf
+syn match   awkSpecialCharacter contained "\\."
+
+" Some of these combinations may seem weird, but they work.
+syn match   awkSpecialPrintf	contained "%[-+ #]*\d*\.\=\d*[cdefgiosuxEGX%]"
+
+" Numbers, allowing signs (both -, and +)
+" Integer number.
+syn match  awkNumber		display "[+-]\=\<\d\+\>"
+" Floating point number.
+syn match  awkFloat		display "[+-]\=\<\d\+\.\d+\>"
+" Floating point number, starting with a dot.
+syn match  awkFloat		display "[+-]\=\<.\d+\>"
+syn case ignore
+"floating point number, with dot, optional exponent
+syn match  awkFloat	display "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\>"
+"floating point number, starting with a dot, optional exponent
+syn match  awkFloat	display "\.\d\+\(e[-+]\=\d\+\)\=\>"
+"floating point number, without dot, with exponent
+syn match  awkFloat	display "\<\d\+e[-+]\=\d\+\>"
+syn case match
+
+"syn match  awkIdentifier	"\<[a-zA-Z_][a-zA-Z0-9_]*\>"
+
+" Arithmetic operators: +, and - take care of ++, and --
+"syn match   awkOperator	"+\|-\|\*\|/\|%\|="
+"syn match   awkOperator	"+=\|-=\|\*=\|/=\|%="
+"syn match   awkOperator	"^\|^="
+
+" Comparison expressions.
+"syn match   awkExpression	"==\|>=\|=>\|<=\|=<\|\!="
+"syn match   awkExpression	"\~\|\!\~"
+"syn match   awkExpression	"?\|:"
+"syn keyword awkExpression	in
+
+" Boolean Logic (OR, AND, NOT)
+"syn match  awkBoolLogic	"||\|&&\|\!"
+
+" This is overridden by less-than & greater-than.
+" Put this above those to override them.
+" Put this in a 'match "\<printf\=\>.*;\="' to make it not override
+" less/greater than (most of the time), but it won't work yet because
+" keywords allways have precedence over match & region.
+" File I/O: (print foo, bar > "filename") & for nawk (getline < "filename")
+"syn match  awkFileIO		contained ">"
+"syn match  awkFileIO		contained "<"
+
+" Expression separators: ';' and ','
+syn match  awkSemicolon	";"
+syn match  awkComma		","
+
+syn match  awkComment	"#.*" contains=awkTodo
+
+syn match  awkLineSkip	"\\$"
+
+" Highlight array element's (recursive arrays allowed).
+" Keeps nested array names' separate from normal array elements.
+" Keeps numbers separate from normal array elements (variables).
+syn match  awkArrayArray	contained "[^][, \t]\+\["me=e-1
+syn match  awkArrayElement      contained "[^][, \t]\+"
+syn region awkArray		transparent start="\[" end="\]" contains=awkArray,awkArrayElement,awkArrayArray,awkNumber,awkFloat
+
+" 10 should be enough.
+" (for the few instances where it would be more than "oneline")
+syn sync ccomment awkArray maxlines=10
+
+" 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 highlightling yet
+if version >= 508 || !exists("did_awk_syn_inits")
+  if version < 508
+    let did_awk_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink awkConditional		Conditional
+  HiLink awkFunction		Function
+  HiLink awkRepeat		Repeat
+  HiLink awkStatement		Statement
+
+  HiLink awkString		String
+  HiLink awkSpecialPrintf	Special
+  HiLink awkSpecialCharacter	Special
+
+  HiLink awkSearch		String
+  HiLink awkBrackets		awkRegExp
+  HiLink awkBrktRegExp		awkNestRegExp
+  HiLink awkCharClass		awkNestRegExp
+  HiLink awkNestRegExp		Keyword
+  HiLink awkRegExp		Special
+
+  HiLink awkNumber		Number
+  HiLink awkFloat		Float
+
+  HiLink awkFileIO		Special
+  "HiLink awkOperator		Special
+  "HiLink awkExpression		Special
+  HiLink awkBoolLogic		Special
+
+  HiLink awkPatterns		Special
+  HiLink awkVariables		Special
+  HiLink awkFieldVars		Special
+
+  HiLink awkLineSkip		Special
+  HiLink awkSemicolon		Special
+  HiLink awkComma		Special
+  "HiLink awkIdentifier		Identifier
+
+  HiLink awkComment		Comment
+  HiLink awkTodo		Todo
+
+  " Change this if you want nested array names to be highlighted.
+  HiLink awkArrayArray		awkArray
+  HiLink awkArrayElement	Special
+
+  HiLink awkParenError		awkError
+  HiLink awkInParen		awkError
+  HiLink awkError		Error
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "awk"
+
+" vim: ts=8
