123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- *ft_mp.txt* For Vim version 9.0. Last change: 2022 Aug 12
- This is the documentation for the METAFONT and MetaPost filetype plugins.
- Unless otherwise specified, the commands, settings and mappings defined below
- apply equally to both filetypes.
- NOTE: the plugin requires +vim9script.
- ==============================================================================
- CONTENTS *mp.vim* *ft-metapost*
- *mf.vim* *ft-metafont*
- 1. Introduction |ft-metapost-intro|
- 2. Commands |ft-metapost-commands|
- 3. Settings |ft-metapost-settings|
- 4. Mappings |ft-metapost-mappings|
- ==============================================================================
- *ft-metapost-intro*
- *ft-metafont-intro*
- Introduction ~
- This filetype plugin provides extensive support for editing METAFONT and
- MetaPost documents, including syntax coloring, indentation, and completion.
- Defining indentation rules for METAFONT and MetaPost code is tricky and
- somewhat subjective, because the syntax is quite liberal. The plugin uses some
- heuristics that work well most of the time, but in particular cases you may
- want to to override the automatic rules, so that the manually defined
- indentation is preserved by commands like `gg=G`.
- This can be achieved by appending `%>`, `%<`, `%=` or `%!` to a line to
- explicitly control the indentation of the next line. The `<` and `>` symbols
- may be repeated many times: for instance, `%>>` will cause the next line to be
- indented twice. Of course, `%<` means that the next line should be
- de-indented; `%=` sets the indentation of the next line to be equal to the
- indentation of the current line; and `%!` means that the indentation of the
- next line should not change from whatever it has been manually set.
- For example, this is the default indentation of a simple macro:
- >
- def foo =
- makepen(
- subpath(T-n,t) of r
- shifted .5down
- --subpath(t,T) of r shifted .5up -- cycle
- )
- withcolor black
- enddef
- <
- By adding the special comments, the indentation can be adjusted arbitrarily:
- >
- def foo =
- makepen(
- subpath(T-n,t) of r %>
- shifted .5down %>
- --subpath(t,T) of r shifted .5up -- cycle %<<<
- )
- withcolor black
- enddef
- <
- *ft-metapost-commands*
- Commands ~
- *:FixBeginfigs*
- Renumber beginfig() blocks in the current buffer so that the n-th figure has
- number n. MetaPost only.
- *ft-metapost-settings*
- *ft-metafont-settings*
- Settings ~
- *'g:mf_other_macros'*
- Highlight some other basic macro names, e.g., from cmbase, logo, etc. This is
- set to 1 by default in METAFONT buffers, and it is set to 0 by default in
- MetaPost buffers.
- *'g:mf_plain_macros'*
- Highlight keywords defined by plain.mf. This is set to 1 by default in
- METAFONT buffers, and it is set to 0 by default in MetaPost buffers.
- *'g:mf_plain_modes'*
- Highlight keywords defined by modes.mf. This is set to 1 by default in
- METAFONT buffers, and it is set to 0 by default in MetaPost buffers.
- *'g:mp_close_tag'*
- Define additional keywords that end indented blocks. For instance, if you
- define:
- >
- g:mp_end_tag = ['\<endfoo\>']
- <
- any line starting with `endfoo` will be de-indented compared to its previous
- line.
- >
- g:mp_close_tag = []
- <
- *'b:mp_metafun'*
- *'g:mp_metafun'*
- If set to 1, highlight ConTeXt's MetaFun keywords. MetaPost only.
- >
- g:mp_metafun = 0
- <
- *'g:mp_mfplain_macros'*
- Highlight keywords defined by mfplain.mp. MetaPost only.
- >
- g:mp_mfplain_macros = 1
- <
- *'g:mp_open_tag'*
- Define additional keywords that start indented blocks. For instance, if you
- define:
- >
- g:mp_open_tag = ['\<beginfoo\>']
- <
- the line following `beginfoo` will be indented.
- >
- g:mp_open_tag = []
- <
- *'g:mp_other_macros'*
- Highlight keywords defined by all base macro packages (boxes, rboxes, format,
- graph, marith, sarith, string, TEX). This option affects only MetaPost
- buffers.
- >
- g:mp_other_macros = 1
- <
- *'g:mp_plain_macros'*
- Highlight keywords defined by plain.mp. MetaPost only.
- >
- g:mp_plain_macros = 1
- <
- *'g:no_mp_maps'*
- *'g:no_mf_maps'*
- When set, do not define any mapping in buffers with the corresponding
- filetype.
- >
- g:no_mp_maps = 0
- g:no_mf_maps = 0
- <
- *ft-metapost-mappings*
- *ft-metafont-mappings*
- Mappings ~
- ]] [count] vardefs, macros or figures forward.
- [[ [count] vardefs, macros or figures backward.
- ][ [count] end of vardefs, macros or figures forward.
- [] [count] end of vardefs, macros or figures backward.
- ]} [count] end of blocks (fi, endfor, endgroup) forward.
- [{ [count] begin of blocks (if, for, begingroup) backward.
- vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|