diff --git a/runtime/syntax/hitest.vim b/runtime/syntax/hitest.vim
new file mode 100644
index 0000000..7489101
--- /dev/null
+++ b/runtime/syntax/hitest.vim
@@ -0,0 +1,149 @@
+" Vim syntax file
+" Language:	none; used to see highlighting
+" Maintainer:	Ronald Schild <rs@scutum.de>
+" Last Change:	2001 Sep 02
+" Version:	5.4n.1
+
+" To see your current highlight settings, do
+"    :so $VIMRUNTIME/syntax/hitest.vim
+
+" save global options and registers
+let s:hidden      = &hidden
+let s:lazyredraw  = &lazyredraw
+let s:more	  = &more
+let s:report      = &report
+let s:shortmess   = &shortmess
+let s:wrapscan    = &wrapscan
+let s:register_a  = @a
+let s:register_se = @/
+
+" set global options
+set hidden lazyredraw nomore report=99999 shortmess=aoOstTW wrapscan
+
+" print current highlight settings into register a
+redir @a
+highlight
+redir END
+
+" Open a new window if the current one isn't empty
+if line("$") != 1 || getline(1) != ""
+  new
+endif
+
+" edit temporary file
+edit Highlight\ test
+
+" set local options
+setlocal autoindent noexpandtab formatoptions=t shiftwidth=16 noswapfile tabstop=16
+let &textwidth=&columns
+
+" insert highlight settings
+% delete
+put a
+
+" remove the colored xxx items
+g/xxx /s///e
+
+" remove color settings (not needed here)
+global! /links to/ substitute /\s.*$//e
+
+" move linked groups to the end of file
+global /links to/ move $
+
+" move linked group names to the matching preferred groups
+% substitute /^\(\w\+\)\s*\(links to\)\s*\(\w\+\)$/\3\t\2 \1/e
+global /links to/ normal mz3ElD0#$p'zdd
+
+" delete empty lines
+global /^ *$/ delete
+
+" precede syntax command
+% substitute /^[^ ]*/syn keyword &\t&/
+
+" execute syntax commands
+syntax clear
+% yank a
+@a
+
+" remove syntax commands again
+% substitute /^syn keyword //
+
+" pretty formatting
+global /^/ exe "normal Wi\<CR>\t\eAA\ex"
+global /^\S/ join
+
+" find out first syntax highlighting
+let b:various = &highlight.',:Normal,:Cursor,:,'
+let b:i = 1
+while b:various =~ ':'.substitute(getline(b:i), '\s.*$', ',', '')
+   let b:i = b:i + 1
+   if b:i > line("$") | break | endif
+endwhile
+
+" insert headlines
+call append(0, "Highlighting groups for various occasions")
+call append(1, "-----------------------------------------")
+
+if b:i < line("$")-1
+   let b:synhead = "Syntax highlighting groups"
+   if exists("hitest_filetypes")
+      redir @a
+      let
+      redir END
+      let @a = substitute(@a, 'did_\(\w\+\)_syn\w*_inits\s*#1', ', \1', 'g')
+      let @a = substitute(@a, "\n\\w[^\n]*", '', 'g')
+      let @a = substitute(@a, "\n", '', 'g')
+      let @a = substitute(@a, '^,', '', 'g')
+      if @a != ""
+	 let b:synhead = b:synhead." - filetype"
+	 if @a =~ ','
+	    let b:synhead = b:synhead."s"
+	 endif
+	 let b:synhead = b:synhead.":".@a
+      endif
+   endif
+   call append(b:i+1, "")
+   call append(b:i+2, b:synhead)
+   call append(b:i+3, substitute(b:synhead, '.', '-', 'g'))
+endif
+
+" remove 'hls' highlighting
+nohlsearch
+normal 0
+
+" add autocommands to remove temporary file from buffer list
+aug highlighttest
+   au!
+   au BufUnload Highlight\ test if expand("<afile>") == "Highlight test"
+   au BufUnload Highlight\ test    bdelete! Highlight\ test
+   au BufUnload Highlight\ test endif
+   au VimLeavePre * if bufexists("Highlight test")
+   au VimLeavePre *    bdelete! Highlight\ test
+   au VimLeavePre * endif
+aug END
+
+" we don't want to save this temporary file
+set nomodified
+
+" the following trick avoids the "Press RETURN ..." prompt
+0 append
+.
+
+" restore global options and registers
+let &hidden      = s:hidden
+let &lazyredraw  = s:lazyredraw
+let &more	 = s:more
+let &report	 = s:report
+let &shortmess	 = s:shortmess
+let &wrapscan	 = s:wrapscan
+let @a		 = s:register_a
+
+" restore last search pattern
+call histdel("search", -1)
+let @/ = s:register_se
+
+" remove variables
+unlet s:hidden s:lazyredraw s:more s:report s:shortmess
+unlet s:wrapscan s:register_a s:register_se
+
+" vim: ts=8
