diff --git a/runtime/syntax/tf.vim b/runtime/syntax/tf.vim
new file mode 100644
index 0000000..2a9a999
--- /dev/null
+++ b/runtime/syntax/tf.vim
@@ -0,0 +1,209 @@
+" Vim syntax file
+" Language:	tf
+" Maintainer:	Lutz Eymers <ixtab@polzin.com>
+" URL:		http://www.isp.de/data/tf.vim
+" Email:	send syntax_vim.tgz
+" Last Change:	2001 May 10
+"
+" Options	lite_minlines = x     to sync at least x lines backwards
+
+" Remove any old syntax stuff hanging around
+
+" 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
+
+syn case match
+
+if !exists("main_syntax")
+  let main_syntax = 'tf'
+endif
+
+" Special global variables
+syn keyword tfVar  HOME LANG MAIL SHELL TERM TFHELP TFLIBDIR TFLIBRARY TZ  contained
+syn keyword tfVar  background backslash  contained
+syn keyword tfVar  bamf bg_output borg clearfull cleardone clock connect  contained
+syn keyword tfVar  emulation end_color gag gethostbyname gpri hook hilite  contained
+syn keyword tfVar  hiliteattr histsize hpri insert isize istrip kecho  contained
+syn keyword tfVar  kprefix login lp lpquote maildelay matching max_iter  contained
+syn keyword tfVar  max_recur mecho more mprefix oldslash promt_sec  contained
+syn keyword tfVar  prompt_usec proxy_host proxy_port ptime qecho qprefix  contained
+syn keyword tfVar  quite quitdone redef refreshtime scroll shpause snarf sockmload  contained
+syn keyword tfVar  start_color tabsize telopt sub time_format visual  contained
+syn keyword tfVar  watch_dog watchname wordpunct wrap wraplog wrapsize  contained
+syn keyword tfVar  wrapspace  contained
+
+" Worldvar
+syn keyword tfWorld  world_name world_character world_password world_host contained
+syn keyword tfWorld  world_port world_mfile world_type contained
+
+" Number
+syn match tfNumber  "-\=\<\d\+\>"
+
+" Float
+syn match tfFloat  "\(-\=\<\d+\|-\=\)\.\d\+\>"
+
+" Operator
+syn match tfOperator  "[-+=?:&|!]"
+syn match tfOperator  "/[^*~@]"he=e-1
+syn match tfOperator  ":="
+syn match tfOperator  "[^/%]\*"hs=s+1
+syn match tfOperator  "$\+[([{]"he=e-1,me=e-1
+syn match tfOperator  "\^\[\+"he=s+1 contains=tfSpecialCharEsc
+
+" Relational
+syn match tfRelation  "&&"
+syn match tfRelation  "||"
+syn match tfRelation  "[<>/!=]="
+syn match tfRelation  "[<>]"
+syn match tfRelation  "[!=]\~"
+syn match tfRelation  "[=!]/"
+
+
+" Readonly Var
+syn match tfReadonly  "[#*]" contained
+syn match tfReadonly  "\<-\=L\=\d\{-}\>" contained
+syn match tfReadonly  "\<P\(\d\+\|R\|L\)\>" contained
+syn match tfReadonly  "\<R\>" contained
+
+" Identifier
+syn match tfIdentifier "%\+[a-zA-Z_#*-0-9]\w*" contains=tfVar,tfReadonly
+syn match tfIdentifier "%\+[{]"he=e-1,me=e-1
+syn match tfIdentifier "\$\+{[a-zA-Z_#*-0-9]\w*}" contains=tfWorld
+
+" Function names
+syn keyword tfFunctions  ascii char columns echo filename ftime fwrite getopts
+syn keyword tfFunctions  getpid idle kbdel kbgoto kbhead kblen kbmatch kbpoint
+syn keyword tfFunctions  kbtail kbwordleft kbwordright keycode lines mod
+syn keyword tfFunctions  moresize pad rand read regmatch send strcat strchr
+syn keyword tfFunctions  strcmp strlen strncmp strrchr strrep strstr substr
+syn keyword tfFunctions  systype time tolower toupper
+
+syn keyword tfStatement  addworld bamf beep bind break cat changes connect  contained
+syn keyword tfStatement  dc def dokey echo edit escape eval export expr fg for  contained
+syn keyword tfStatement  gag getfile grab help hilite histsize hook if input  contained
+syn keyword tfStatement  kill lcd let list listsockets listworlds load  contained
+syn keyword tfStatement  localecho log nohilite not partial paste ps purge  contained
+syn keyword tfStatement  purgeworld putfile quit quote recall recordline save  contained
+syn keyword tfStatement  saveworld send sh shift sub substitute  contained
+syn keyword tfStatement  suspend telnet test time toggle trig trigger unbind  contained
+syn keyword tfStatement  undef undefn undeft unhook  untrig unworld  contained
+syn keyword tfStatement  version watchdog watchname while world  contained
+
+" Hooks
+syn keyword tfHook  ACTIVITY BACKGROUND BAMF CONFAIL CONFLICT CONNECT DISCONNECT
+syn keyword tfHook  KILL LOAD LOADFAIL LOG LOGIN MAIL MORE PENDING PENDING
+syn keyword tfHook  PROCESS PROMPT PROXY REDEF RESIZE RESUME SEND SHADOW SHELL
+syn keyword tfHook  SIGHUP SIGTERM SIGUSR1 SIGUSR2 WORLD
+
+" Conditional
+syn keyword tfConditional  if endif then else elseif  contained
+
+" Repeat
+syn keyword tfRepeat  while do done repeat for  contained
+
+" Statement
+syn keyword tfStatement  break quit contained
+
+" Include
+syn keyword  tfInclude require load save loaded contained
+
+" Define
+syn keyword  tfDefine bind unbind def undef undefn undefn purge hook unhook trig untrig  contained
+syn keyword  tfDefine set unset setenv  contained
+
+" Todo
+syn keyword  tfTodo TODO Todo todo  contained
+
+" SpecialChar
+syn match tfSpecialChar "\\[abcfnrtyv\\]" contained
+syn match tfSpecialChar "\\\d\{3}" contained contains=tfOctalError
+syn match tfSpecialChar "\\x[0-9a-fA-F]\{2}" contained
+syn match tfSpecialCharEsc "\[\+" contained
+
+syn match tfOctalError "[89]" contained
+
+" Comment
+syn region tfComment		start="^;" end="$"  contains=tfTodo
+
+" String
+syn region tfString   oneline matchgroup=None start=+'+  skip=+\\\\\|\\'+  end=+'+ contains=tfIdentifier,tfSpecialChar,tfEscape
+syn region tfString   matchgroup=None start=+"+  skip=+\\\\\|\\"+  end=+"+ contains=tfIdentifier,tfSpecialChar,tfEscape
+
+syn match tfParentError "[)}\]]"
+
+" Parents
+syn region tfParent matchgroup=Delimiter start="(" end=")" contains=ALLBUT,tfReadonly
+syn region tfParent matchgroup=Delimiter start="\[" end="\]" contains=ALL
+syn region tfParent matchgroup=Delimiter start="{" end="}" contains=ALL
+
+syn match tfEndCommand "%%\{-};"
+syn match tfJoinLines "\\$"
+
+" Types
+
+syn match tfType "/[a-zA-Z_~@][a-zA-Z0-9_]*" contains=tfConditional,tfRepeat,tfStatement,tfInclude,tfDefine,tfStatement
+
+" Catch /quote .. '
+syn match tfQuotes "/quote .\{-}'" contains=ALLBUT,tfString
+" Catch $(/escape   )
+syn match tfEscape "(/escape .*)"
+
+" sync
+if exists("tf_minlines")
+  exec "syn sync minlines=" . tf_minlines
+else
+  syn sync minlines=100
+endif
+
+" 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_tf_syn_inits")
+  if version < 508
+    let did_tf_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink tfComment		Comment
+  HiLink tfString		String
+  HiLink tfNumber		Number
+  HiLink tfFloat		Float
+  HiLink tfIdentifier		Identifier
+  HiLink tfVar			Identifier
+  HiLink tfWorld		Identifier
+  HiLink tfReadonly		Identifier
+  HiLink tfHook		Identifier
+  HiLink tfFunctions		Function
+  HiLink tfRepeat		Repeat
+  HiLink tfConditional		Conditional
+  HiLink tfLabel		Label
+  HiLink tfStatement		Statement
+  HiLink tfType		Type
+  HiLink tfInclude		Include
+  HiLink tfDefine		Define
+  HiLink tfSpecialChar		SpecialChar
+  HiLink tfSpecialCharEsc	SpecialChar
+  HiLink tfParentError		Error
+  HiLink tfTodo		Todo
+  HiLink tfEndCommand		Delimiter
+  HiLink tfJoinLines		Delimiter
+  HiLink tfOperator		Operator
+  HiLink tfRelation		Operator
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "tf"
+
+if main_syntax == 'tf'
+  unlet main_syntax
+endif
+
+" vim: ts=8
