runtime(vim): Improve keymap file highlighting (#13550)

- Match :loadkeymap to EOF as a region and contain only allowed items.
- Add highlighting for <Char- notation.
- add basic syntax highlighting tests

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/testdir/input/vim.vim b/runtime/syntax/testdir/input/vim.vim
new file mode 100644
index 0000000..983c822
--- /dev/null
+++ b/runtime/syntax/testdir/input/vim.vim
@@ -0,0 +1,26 @@
+" Vim Keymap file for syntax testing                                                                                                                                                                                                                                           
+                                                                                                                                       
+" Maintainer:   Doug Kearns <dougkearns@gmail.com>                                                                                     
+" Last Changed: 2023 Nov 21                                                                                                                                                                                                                                                    
+                                                                                                                                                                                                                                                                               
+scriptencoding utf-8                                                                                                                                                                                                                                                           
+                                                                                                                                       
+let b:keymap_name = "syntax-test"                                                                                                      
+                                                                                                                                                                                                                                                                               
+loadkeymap                                                                                                                                                                                                                                                                     
+                                                                                                                                                                                                                                                                               
+" Line comment                                                                                                                         
+                                                                                                                                       
+  " Another line comment                
+                                                                                                                                       
+a A    Basic mapping                                       
+'a á   More than one char in first column           
+                                          
+" Special notation                                                                                                                     
+<char-62>      B               Special notation allowed in LHS - decimal                                                                                                                                                                                                       
+c              <char-0103>     Special notation allowed in RHS - octal                                                                 
+<char-0x0064>  <char-0x0044>   Special notation allowed in LHS and RHS - hexadecimal                                                   
+                                         
+" Vim-script comment characters                               
+# <char-0x00a3>                Line should not match as a Vim9-script comment
+\" “                   Line should not match as a legacy-script comment