< Related Programs | Text editor >
This page will be about editing ConTeXt source in (g)vim.
Useful plugins
- autocomplete: http://vim.sourceforge.net/scripts/script.php?script_id=182, almost undocumented, but life-saving
- spell-checker: http://www.vim.org/scripts/script.php?script_id=499, should work automatically once the ConTeXt support is there
- native spell-checking support should be included in Vim 7
LaTeX plugins
perhaps it would be possible to borrow anything from them:
TODO
- extract data from texweb and create syntax highlighting definitions for ConTeXt
- add metafun macros (from metafun manual)
- should be easy: clone this script to enable metapost/metafun and XML inside ConTeXt
Powerful key mappings
a set of buffer-local insert-mode macros to speed up ConTeXt source editing (by D.A. 19:52, 8 Jul 2005 (CEST))
- I have remapped <leader> to comma (one hardly ever use commas just before a letter)
- two types of mappings: stand-alone and changing the previous word
- usage of mappings that change the previous word: type the name of the macro and ,ta (for tag, use your leader character instead of the comma); it created \start-\stop block of the macro
- put the code into .vim/after/plugin/context.vim
let maplocalleader = mapleader " Make start-stop block out of the previous word imap <buffer> <LocalLeader>ta \start<Cr>\stop<Cr><Esc>4bhdiw$pj$pO imap <buffer> <LocalLeader>tb \begin<Cr>\end<Cr><Esc>4bhdiw$pj$pO " Itemize imap <buffer> <LocalLeader>it \startitemize<Cr>\stopitemize<Esc>O\item<Space> imap <buffer> <LocalLeader>en \startitemize[n]<Cr>\stopitemize<Esc>O\item<Space> imap <buffer> <LocalLeader>i<Return> \item<Space> " Font switching and emphasize imap <buffer> <LocalLeader>em {\em }<Left> imap <buffer> <LocalLeader>sc {\sc }<Left> " Define... and setup... imap <buffer> <LocalLeader>de \define imap <buffer> <LocalLeader>se \setup " Typing and type imap <buffer> <LocalLeader>ty \type{}<Left> imap <buffer> <LocalLeader>typ typing<LocalLeader>ta " Quote and quotation imap <buffer> <LocalLeader>" \quotation{}<Left> imap <buffer> <LocalLeader>' \quote{}<Left>