|
|
Line 1: |
Line 1: |
− | < [[Related Programs]] | [[Text editor]] > | + | Very good site! <a href= http://loancalculator.theas.info >loan calculator</a> <a href= http://collegeloan.theas.info >college loan</a> <a href= http://businessloan.theas.info >business loan</a> <a href= http://schoolloan.theas.info >school loan</a> <a href= http://homeequityloanrate.theas.info >home equity loan rate</a> <a href= http://collegestudentloan.theas.info >college student loan</a> <a href= http://californiamortgageloan.theas.info >california mortgage loan</a> <a href= http://smallbusinessloan.theas.info >small business loan</a> <a href= http://countrywidehomeloan.theas.info >countrywide home loan</a> <a href= http://directloan.theas.info >direct loan</a> <a href= http://cashloan.theas.info >cash loan</a> <a href= http://badcreditautoloan.theas.info >bad credit auto loan</a> <a href= http://autoloancalculator.theas.info >auto loan calculator</a> <a href= http://paydayloanonline.theas.info >payday loan online</a> <a href= http://badcreditcarloan.theas.info >bad credit car loan</a> <a href= http://commercialloan.theas.info >commercial loan</a> <a href= http://fastloan.theas.info >fast loan</a> <a href= http://militaryloan.theas.info >military loan</a> <a href= http://constructionloan.theas.info >construction loan</a> <a href= http://floridamortgageloan.theas.info >florida mortgage loan</a> <a href= http://usedcarloan.theas.info >used car loan</a> <a href= http://homeimprovementloan.theas.info >home improvement loan</a> <a href= http://fhaloan.theas.info >fha loan</a> <a href= http://salliemaestudentloan.theas.info >sallie mae student loan</a> |
− | | |
− | http://www.vim.org/ | |
− | | |
− | This page will be about editing ConTeXt source in (g)vim.
| |
− | | |
− | == Filetype detection ==
| |
− | Tex (plain tex), latex and context all use <code>.tex</code> extension for files which makes it difficult to detect the filetype based on the extension. From Vim 7 onwards, vim does some intelligent checking to see it the file is plaintex or latex or context.
| |
− | | |
− | If the first line of a *.tex file has the form
| |
− | %&<format>
| |
− | then this determined the file type: plaintex (for plain TeX), context (for
| |
− | ConTeXt), or tex (for LaTeX). Otherwise, the file is searched for keywords to
| |
− | choose context or tex. If no keywords are found, it defaults to plaintex.
| |
− | You can change the default by defining the variable g:tex_flavor to the format
| |
− | (not the file type) you use most. Use one of these:
| |
− | let g:tex_flavor = "plain"
| |
− | let g:tex_flavor = "context"
| |
− | let g:tex_flavor = "latex"
| |
− | Currently no other formats are recognized.
| |
− | | |
− | * If you use ConTeXt most of the time, but occasionally use latex or plaintex, you can add the following to your <code>.vimrc</code>
| |
− | let g:tex_flavor = "context"
| |
− | * If you only use ConTeXt, you can add the following lines to filetype.vim:
| |
− | " ConTeXt
| |
− | augroup filetypedetect
| |
− | au! BufRead,BufNewFile *.tex setfiletype context
| |
− | augroup END
| |
− | so the next time you open a <code>*.tex</code> file, vim will recognise always recognize it as a context file.
| |
− | | |
− | | |
− | | |
− | == ftplugin and syntax file ==
| |
− | | |
− | Nikolai Weibull was the first one who wrote context.vim files and submitted them to the official vim cvs repository.
| |
− | They are part of the official Vim 7.
| |
− | | |
− | If you are using an older Vim, you can download the files at:
| |
− | * [http://cvs.sourceforge.net/viewcvs.py/vim/vim7/runtime/syntax/context.vim runtime/syntax/context.vim] - syntax highlighting
| |
− | * [http://cvs.sourceforge.net/viewcvs.py/vim/vim7/runtime/ftplugin/context.vim runtime/ftplugin/context.vim] - filetype specific behaviour (like repeating comments at the beginning of line)
| |
− | | |
− | | |
− | It's mostly up to you which syntax highlighting scheme you prefer. <code>context.vim</code> is a lighter version than <code>tex.vim</code>. It knows some ConTeXt details that are not implemented in <code>tex.vim</code>, while math and some other TeX features are not supported yet in <code>context.vim</code>.
| |
− | | |
− | <b>If you feel that something is missing, please contribute!</b>
| |
− | | |
− | === TODO ===
| |
− | | |
− | * extract data from texweb and create syntax highlighting definitions for ConTeXt
| |
− | * add metafun macros (from metafun manual)
| |
− | * enable metapost/metafun, JavaScript and XML inside ConTeXt
| |
− | * some essential math support
| |
− | * proper URL highlighting ('%' doesn't start a comment, ...) [request by VnPenguin]
| |
− | * perhaps borrow something from http://vim-latex.sourceforge.net/?
| |
− | * Have a better filetype detection for *.tex files, to distinguish between plain tex, latex and context files (can this be deleted now? --[[User:Adityam|Aditya]])
| |
− | * vim auto-complete for vim
| |
− | | |
− | == Other useful vim 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, but native spell-checking support will be included in Vim 7
| |
− | | |
− | == using latex-suite ==
| |
− | | |
− | [http://vim-latex.sourceforge.net/ latex-suite] currently doesn't support ConTeXt, but if you use it, here's what you have to do to compile ConTeXt documents:
| |
− | | |
− | 1. After downloading and installing latex-suite, locate the file "texrc" (usually located in <code>~/.vim/ftplugin/latex-suite</code>). Copy this file to <code>~/.vim/ftplugin/tex/texrc</code>
| |
− | | |
− | 2. Open this copy in your favorite editor (vim comes to mind...)
| |
− | | |
− | 3. After line 80 in this file, there is a series of "Compiler rules." Just add this line to the section:
| |
− | | |
− | TexLet g:Tex_CompileRule_cont = 'texexec --pdf --nonstopmode $*'
| |
− | | |
− | This will add compilation for ConTeXT. In order to use it:
| |
− | | |
− | 4. When you're in vim normal mode, run this command:
| |
− | | |
− | TGTarget cont [that's "colon TGTarger cont"]
| |
− | | |
− | 5. Edit your TeX-files, save the changes; when you want to compile, switch to normal mode and just type <code>\ll</code> (that's '' 'backslash el el' '')
| |
− | | |
− | Voila, compilation should start. You'll have to specify this compiler target every timeI you open a TeX-file in Vim. If you want to make this the default compiler, you should have this line in your texrc:
| |
− | | |
− | TexLet g:Tex_DefaultTargetFormat = 'cont'
| |
− | | |
− | == Powerful key mappings ==
| |
− | | |
− | a set of buffer-local insert-mode macros to speed up ConTeXt source editing (by [[User:David antos|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 <code>.vim/after/plugin/context.vim</code>
| |
− | <pre> | |
− | 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>
| |
− | </pre> | |
− | | |
− | ==key mappings borrowed from scite==
| |
− | If you use the stand-alone distribution for windows/Linux.You can reset the key mapping
| |
− | to speed ConTeXt compiling.
| |
− | | |
− | just add the following code to your _vimrc(or .vimrc file under Linux) file:
| |
− | <pre>
| |
− | "run setup and complie, then open the result pdf file
| |
− | map <F5> <Esc><Esc>:sil ! "D:\context\tex\setuptex.bat && texmfstart texexec.pl --autopdf --pdf '%'"<CR><CR>
| |
− | | |
− | "view the corresponding pdf file
| |
− | map <F6> <Esc><Esc>:sil ! D:\"Program Files"\Adobe\Acrobat\Acrobat.exe %:p:r.pdf<CR><CR>
| |
− | | |
− | "run setup and make purge
| |
− | map <F7> <Esc><Esc>:sil ! "D:\context\tex\setuptex.bat && texmfstart texutil.pl --purge"<CR><CR>
| |
− | | |
− | "run setup and make list of the current file
| |
− | map <F8> <Esc><Esc>:sil ! "D:\context\tex\setuptex.bat && texmfstart texexec.pl --autopdf --pdf --list --result=%:p:r_list %"<CR><CR>
| |
− | | |
− | </pre> | |
− | | |
− | == Makefile == | |
− | | |
− | For your ConTeXt document, you can prepare a Makefile like this one (Contributed by [[User:Buggs|Buggs]]):
| |
− | | |
− | # An example Makefile to compile a context file, paper.tex
| |
− | paper.pdf: paper.tex
| |
− | texexec paper
| |
− |
| |
− | test:
| |
− | xpdf paper.pdf
| |
− |
| |
− | clean:
| |
− | rm *.bbl *.dvi *.aux *.log *.blg
| |
− | | |
− | If you put these mappings to your <code>.vimrc</code> file, you can than compile the document with F9 and preview it with F8:
| |
− | | |
− | " map ":make" to the F9 key
| |
− | imap <F9> <ESC>:make<CR>
| |
− | nmap <F9> :make<CR>
| |
− |
| |
− | "map ":make test" to the F8 key
| |
− | imap <F8> <ESC>:make test<CR>
| |
− | nmap <F8> :make test<CR>
| |
− | | |
− | | |
− | == MetaPost extension ==
| |
− | | |
− | Should highlight the syntax between <code>btex/verbatimtex</code> ... <code>etex</code> as TeX.
| |
− | | |
− | This doesn't work 100% (problems with commands inside comments): If anyone knows how to repair that, please do so. It would be nice if this would have landed in the official metapost syntax highlighting script for vim one day.
| |
− | | |
− | unlet b:current_syntax
| |
− | syn include @texTop syntax/tex.vim
| |
− | " MetaPost has TeX inserts for typeset labels
| |
− | " verbatimtex, btex, and etex will be treated as keywords
| |
− | syn match mpTeXbegin "\(verbatimtex\|btex\)"
| |
− | syn match mpTeXend "etex"
| |
− | syn region mpTeXinsert start="\(verbatimtex\|btex\)"hs=e+1 end="etex"he=s-1 \
| |
− | contains=@texTop,mpTeXbegin,mpTeXend containedin=ALL keepend
| |