andreas.hirner at dlr.de
schuyler at tridity.org
- Last Updated:
vi (vim) resides in: /usr/share/vim/current (vim_root).
Syntax definitions are in vim_root/syntax/*.vim files. Linking file types to extensions is done in vim_root/ftdetect/*.vim. (The the star denotes the extension and would be replaced with map to define highlighting of MapServer config files).
The installation process requires two steps:
Copy the map.vim syntax file to the syntax directory
Copy map.vim to the vim syntax directory (on Suse: /usr/share/vim/current/syntax)
Register the syntax file in the custom filetype directory
If absent, create a new directory called ftdetect in vim_root (on Suse Linux: /usr/share/vim/current). Create a new file called map.vim in ftdetect according to the example shown below:
" MapServer config file au BufNewFile,BufRead *.map setf map
Now restart vim and open a map file ....
Vim code folding can be an extremely handy way to simplify the task of editing complex MapServer mapfiles inside the Vim editor. A Vim command file called map_fold.vim is attached to this document, which defines a folding mode for mapfiles. This file also lives at http://iconocla.st/code/dot/map_fold.vim.
In Vim 6, you can copy map_fold.vim as-is to your $VIMROOT/ftplugin/ directory, and it should more or less work.
To use locally, create a ~/.vim/ftplugin directory, copy map_fold.vim to it, and then add the following to your ~/.vimrc:
autocmd BufRead *.map set filetype=map
map_fold.vim is totally compatible with the map.vim syntax highlighter, and their combined use is even recommended.
The Vim folding tutorial (at least the first two or three sections) is highly recommended. The Vim folding reference may also be helpful.
Hope this helps! Please let me know if you find it useful, or if you find ways to improve it. Thanks!
The keywords are based on the TextPad Symbol Map_40.syn file contributed by Christopher Thorne, which can also be found on the MapServer utility page. I hope the file is somehow useful to anybody out there. If there are any questions or suggestions, please feel free to contact me.