diff options
author | Mojca Miklavec <mojca.miklavec@gmail.com> | 2014-05-05 20:29:55 +0000 |
---|---|---|
committer | Mojca Miklavec <mojca.miklavec@gmail.com> | 2014-05-05 20:29:55 +0000 |
commit | ba9a57343987f1c2c72396e7c38f1fa30352c24c (patch) | |
tree | 66a8b12cdf67427ce96770fd0e9e581759aade1c /Master/texmf-dist/context/data/scite/documents/scite-context-readme.tex | |
parent | 15242121b8ddf7d4a041fb3998d295dd8232e1eb (diff) |
ConTeXt 2014.04.28 23:24
git-svn-id: svn://tug.org/texlive/trunk@33856 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/context/data/scite/documents/scite-context-readme.tex')
-rw-r--r-- | Master/texmf-dist/context/data/scite/documents/scite-context-readme.tex | 828 |
1 files changed, 828 insertions, 0 deletions
diff --git a/Master/texmf-dist/context/data/scite/documents/scite-context-readme.tex b/Master/texmf-dist/context/data/scite/documents/scite-context-readme.tex new file mode 100644 index 00000000000..cbfc00a3342 --- /dev/null +++ b/Master/texmf-dist/context/data/scite/documents/scite-context-readme.tex @@ -0,0 +1,828 @@ +% interface=en modes=icon,screen language=uk + +\usemodule[art-01] +\usemodule[abr-02] + +\unexpanded\def\METAPOST{MetaPost} +\unexpanded\def\METAFUN {MetaFun} + +\setuphead + [section] + [color=darkblue] + +\setuptype + [color=darkblue] + +\setuptyping + [color=darkblue] + +\setuptyping + [margin=yes] + +\setupwhitespace + [big] + +\definecolor[gray][s=.2,t=.5,a=1] + +\startuseMPgraphic{TitlePage}{darkness} + StartPage ; + + numeric factor ; factor := 1/3 ; + numeric multiple ; multiple := PaperHeight/PaperWidth ; % 1.6 ; + numeric stages ; stages := multiple/16 ; % .1 ; + numeric darkness ; darkness := \MPvar{darkness} ; + + def Scaled(expr s, m) = + if m = 1 : + scaled (2*s*PaperWidth) + else : + xscaled (2*s*PaperWidth) yscaled (2*s*PaperHeight) + fi + enddef ; + + fill Page withcolor (factor*white) ; + + fill fullcircle scaled (multiple*PaperWidth) shifted llcorner Page withcolor (factor*red) ; + fill fullcircle scaled (multiple*PaperWidth) shifted ulcorner Page withcolor (factor*green) ; + fill fullcircle scaled (multiple*PaperWidth) shifted urcorner Page withcolor (factor*blue) ; + fill fullcircle scaled (multiple*PaperWidth) shifted lrcorner Page withcolor (factor*yellow) ; + + for i = llcorner Page, ulcorner Page, urcorner Page, lrcorner Page : + for j = 0 step stages until (10*stages-eps) : % or .8 + fill fullcircle Scaled(j,1) shifted i withcolor transparent(1,\MPvar{darkness}*(1-j),white) ; + endfor ; + endfor ; + + draw Page withpen pencircle scaled .1PaperWidth withcolor transparent(1,.5,.5white) ; + + StopPage +\stopuseMPgraphic + +\startmode[icon,screen] + + \setuppapersize[S66][S66] + + \setupbodyfont[10pt] + +\stopmode + +\startmode[icon] + + \starttext + + \startTEXpage + \useMPgraphic{TitlePage}{darkness=0.4} + \stopTEXpage + + \stoptext + +\stopmode + +\starttext + +% title page + +\definelayer + [TitlePage] + [width=\paperwidth, + height=\paperheight] + +\setlayer + [TitlePage] + {\useMPgraphic{TitlePage}{darkness=1}} + +\setlayerframed + [TitlePage] + [preset=rightbottom, + hoffset=.1\paperwidth, + voffset=.1\paperwidth] + [align=left, + width=\hsize, + frame=off, + foregroundcolor=gray] + {\definedfont[SerifBold sa 10]SciTE\endgraf + \definedfont[SerifBold sa 2.48]IN CONTEXT MkIV\kern.25\bodyfontsize} + +\startTEXpage + \tightlayer[TitlePage] +\stopTEXpage + +% main text + +\subject{About \SCITE} + +{\em This manual is under (re)construction.} + +For a long time at \PRAGMA\ we used \TEXEDIT, an editor we'd written in \MODULA. +It had some project management features and recognized the project structure in +\CONTEXT\ documents. Later we rewrote this to a platform independent +reimplementation called \TEXWORK\ written in \PERLTK\ (not to be confused with +the editor with the plural name). + +In the beginning of the century I can into \SCITE, written by Neil Hodgson. +Although the mentioned editors provide some functionality not present in \SCITE\ +we decided to use that editor because it frees us from maintaining our own. I +ported our \TEX\ and \METAPOST\ (line based) syntax highlighting to \SCITE\ and +got a lot of others for free. + +After a while I found out that there was an extension interface written in \LUA. +I played with it and wrote a few extensions too. This pleasant experience later +triggered the \LUATEX\ project. + +A decade into the century \SCITE\ got another new feature: you can write dynamic +external lexers in \LUA\ using \LPEG. As in the meantime \CONTEXT\ has evolved in +a \TEX/\LUA\ hybrid, it made sense to look into this. The result is a couple of +lexers that suit \TEX, \METAPOST\ and \LUA\ usage in \CONTEXT\ \MKIV. As we also +use \XML\ as input and output format a lexer for \XML\ is also provided. And +because \PDF\ is one of the backend formats lexing of \PDF\ is also implemented. +\footnote {In the process some of the general lexing framework was adapted to +suit our demands for speed. We ship these files as well.} + +In the \CONTEXT\ (standalone) distribution you will find the relevant files +under: + +\starttyping +<texroot>/tex/texmf-context/context/data/scite +\stoptyping + +Normally a user will not have to dive into the implementation details but in +principle you can tweak the properties files to suit your purpose. + +\subject{The look and feel} + +The color scheme that we use is consistent over the lexers but we use more colors +that in the traditional lexing. For instance, \TEX\ primitives, low level \TEX\ +commands, \TEX\ constants, basic file structure related commands, and user +commands all get a different treatment. When spell checking is turned on, we +indicate unknown words, but also words that are known but might need checking, +for instance because they have an uppercase character. In \in {figure} +[fig:colors] we some of that in practice. + +\placefigure + [page] + [fig:colors] + {Nested lexers in action.} + {\rotate + [rotation=90] + {\externalfigure + [scite-context-visual.png] + [maxheight=1.2\textwidth, + maxwidth=.9\textheight]}} + +\subject{Installing \SCITE} + +Installing \SCITE\ is straightforward. We are most familiar with \MSWINDOWS\ but +for other operating systems installation is not much different. First you need to +fetch the archive from: + +\starttyping +www.scintilla.org +\stoptyping + +The \MSWINDOWS\ binaries are zipped in \type {wscite.zip}, and you can unzip this +in any directory you want as long as you make sure that the binary ends up in +your path or as shortcut on your desktop. So, say that you install \SCITE\ in: + +\starttyping +c:\data\system\scite\wscite +\stoptyping + +You need to add this path to your local path definition. Installing \SCITE\ to +some known place has the advantage that you can move it around. There are no +special dependencies on the operating system. + +On \MSWINDOWS\ you can for instance install \SCITE\ in: + +\starttyping +c:\data\system\scite +\stoptyping + +and then end up with: + +\starttyping +c:\data\system\scite\wscite +\stoptyping + +and that is the path you need to add to your environment \type {PATH} variable. + +On \LINUX\ the files end up in: + +\starttyping +/usr/bin +/usr/share/scite +\stoptyping + +Where the second path is the path we will put more files. + +\subject{Installing \type {scintillua}} + +Next you need to install the lpeg lexers. \footnote {Versions later than 2.11 +will not run on \MSWINDOWS\ 2K. In that case you need to comment the external +lexer import.} The library is part of the \type {textadept} editor by Mitchell +(\hyphenatedurl {mitchell.att.foicica.com}) which is also based on scintilla: +The archive can be fetched from: + +\starttyping +http://foicica.com/scintillua/ +\stoptyping + +On \MSWINDOWS\ you need to copy the files to the \type {wscite} folder (so we end +up with a \type {lexers} subfolder there). For \LINUX\ the place depends on the +distribution, for instance \type {/usr/share/scite}; this is the place where the +regular properties files live. \footnote {If you update, don't do so without +testing first. Sometimes there are changes in \SCITE\ that influence the lexers +in which case you have to wait till we have update them to suit those changes.} + +So, you end up, on \MSWINDOWS\ with: + +\starttyping +c:\data\system\scite\wscite\lexers +\stoptyping + +And on \LINUX: + +\starttyping +/usr/share/scite/lexers +\stoptyping + +Beware: if you're on a 64 bit system, you need to rename the 64 bit \type {so} +library into one without a number. Unfortunately the 64 bit library is now always +available which can give surprises when the operating system gets updates. In such +a case you should downgrade or use \type {wine} with the \MSWINDOWS\ binaries +instead. After installation you need to restart \SCITE\ in order to see if things +work out as expected. + +\subject{Installing the \CONTEXT\ lexers} + +When we started using this nice extension, we ran into issues and as a +consequence shipped a patched \LUA\ code. We also needed some more control as we +wanted to provide more features and complex nested lexers. Because the library +\API\ changed a couple of times, we now have our own variant which will be +cleaned up over time to be more consistent with our other \LUA\ code (so that we +can also use it in \CONTEXT\ as variant verbatim lexer). We hope to be able to +use the \type {scintillua} library as it does the job. + +Anyway, if you want to use \CONTEXT, you need to copy the relevant files from + +\starttyping +<texroot>/tex/texmf-context/context/data/scite +\stoptyping + +to the path were \SCITE\ keeps its property files (\type {*.properties}). This is +the path we already mentioned. There should be a file there called \type +{SciteGlobal.properties}. + +So,in the end you get on \MSWINDOWS\ new files in: + +\starttyping +c:\data\system\scite\wscite +c:\data\system\scite\wscite\context +c:\data\system\scite\wscite\context\lexer +c:\data\system\scite\wscite\context\lexer\themes +c:\data\system\scite\wscite\context\lexer\data +c:\data\system\scite\wscite\context\documents +\stoptyping + +while on \LINUX\ you get: + +\starttyping +/usr/bin/share/ +/usr/bin/share/context +/usr/bin/share/context/lexer +/usr/bin/share/context/lexer/themes +/usr/bin/share/context/lexer/data +/usr/bin/share/context/documents +\stoptyping + +At the end of the \type {SciteGlobal.properties} you need to add the following +line: + +\starttyping +import context/scite-context-user +\stoptyping + +After this, things should run as expected (given that \TEX\ runs at the console +as well). + +% In order to run the commands needed, we assume that the following programs +% are installed: +% +% \startitemize[packed] +% \item tidy (for quick and dirty checking of \XML\ files) +% \item xsltproc (for converting \XML\ files into other formats) +% \item acrobat (for viewing files) +% \item ghostview (for viewing files, use gv on \UNIX) +% \item rxvt (a console, only needed on \UNIX) +% \stopitemize + +\subject{Fonts} + +The configuration file defaults to the Dejavu fonts. These free fonts are part of +the \CONTEXT\ suite (also known as the standalone distribution). Of course you +can fetch them from \type {http://dejavu-fonts.org} as well. You have to copy +them to where your operating system expects them. In the suite they are available +in: + +\starttyping +<contextroot>/tex/texmf/fonts/truetype/public/dejavu +\stoptyping + +\subject{Extensions} + +Just a quick note to some extensions. If you select a part of the text (normally +you do this with the shift key pressed) and you hit \type {Shift-F11}, you get a +menu with some options. More (robust) ones will be provided at some point. + +\subject{Spell checking} + +If you want to have spell checking, you need have files with correct words on +each line. The first line of a file determines the language: + +\starttyping +% language=uk +\stoptyping + +When you use the external lexers, you need to provide some files. Given that you +have a text file with valid words only, you can run the following script: + +\starttyping +mtxrun --script scite --words nl uk +\stoptyping + +This will convert files with names like \type {spell-nl.txt} into \LUA\ files +that you need to copy to the \type {lexers/data} path. Spell checking happens +realtime when you have the language directive (just add a bogus character to +disable it). Wrong words are colored red, and words that might have a case +problem are colored orange. Recognized words are greyed and words with less than +three characters are ignored. + +A spell checking file has to be put in the \type {lexers/data} directory and +looks as follows (e.g. \type {spell-uk.lua}): + +\starttyping +return { + ["max"]=40, + ["min"]=3, + ["n"]=151493, + ["words"]={ + ["aardvark"]="aardvark", + ["aardvarks"]="aardvarks", + ["aardwolf"]="aardwolf", + ["aardwolves"]="aardwolves", + ... + } +} +\stoptyping + +The keys are words that get checked for the given value (which can have uppercase +characters). The word files are not distributed (but they might be at some point). + +In the case of internal lexers, the following file is needed: + +\starttyping +spell-uk.txt +\stoptyping + +If you use the traditional lexer, this file is taken from the path determined by +the environment variable: + +\starttyping +CTXSPELLPATH +\stoptyping + +As already mentioned, the lpeg lexer expects them in the data path. This is +because the \LUA\ instance that does the lexing is rather minimalistic and lacks +some libraries as well as cannot access the main \SCITE\ state. + +Spell checking in \type {txt} files is enabled by adding a first line: + +\starttyping +[#!-%] language=uk +\stoptyping + +The first character on that line is one of the four mentioned between square +brackets. So, + +\starttyping +# language=uk +\stoptyping + +should work. For \XML\ files there are two methods. You can use the following (at +the start of the file): + +\starttyping +<?xml ... language="uk" ?> +\stoptyping + +But probably better is to use the next directive just below the +usual \XML\ marker line: + +\starttyping +<?context-directive editor language uk ?> +\stoptyping + +\subject{Interface selection} + +In a similar fashion you can drive the interface checking: + +\starttyping +% interface=nl +\stoptyping + +\subject{Property files} + +The internal lexers are controlled by the property files while the external ones +are steered with themes. Unfortunately there is hardly any access to properties +from the external lexer code nor can we consult the file system and/or run +programs like \type {mtxrun}. This means that we cannot use configuration files +in the \CONTEXT\ distribution directly. Hopefully this changes with future +releases. + +\subject{The external lexers} + +These are the more advanced lexers. They provide more detail and the \CONTEXT\ +lexer also supports nested \METAPOST\ and \LUA. Currently there is no detailed +configuration but this might change once they are stable. + +The external lexers operate on documents while the internal ones operate on +lines. This can make the external lexers slow on large documents. We've optimized +the code somewhat for speed and memory consumption but there's only so much one +can do. While lexing each change in style needs a small table but allocating and +garbage collecting many small tables comes at a price. Of course in practice this +probably gets unnoticed. \footnote {I wrote the code in 2011 on a more than 5 +years old Dell M90 laptop, so I suppose that speed is less an issue now.} + +The external lpeg lexers work okay with the \MSWINDOWS\ and \LINUX\ versions of +\SCITE, but unfortunately at the time of writing this, the \LUA\ library that is +needed is not available for the \MACOSX\ version of \SCITE. Also, due to the fact +that the lexing framework is rather isolated, there are some issues that cannot +be addressed in the properly, at least not currently. + +In addition to \CONTEXT\ and \METAFUN\ lexing a \LUA\ lexer is also provided so +that we can handle \CONTEXT\ \LUA\ Document (\CLD) files too. There is also an +\XML\ lexer. This one also provides spell checking. The \PDF\ lexer tries to do a +good job on \PDF\ files, but it has some limitations. There is also a simple text +file lexer that does spell checking. Finally there is a lexer for \CWEB\ files. + +Don't worry if you see an orange rectangle in your \TEX\ or \XML\ document. This +indicates that there is a special space character there, for instance \type +{0xA0}, the nonbreakable space. Of course we assume that you use \UTF8 as input +encoding. + +\subject{The internal lexers} + +\SCITE\ has quite some built in lexers. A lexer is responsible for highlighting +the syntax of your document. The way a \TEX\ file is treated is configured in the +file: + +\starttyping +tex.properties +\stoptyping + +You can edit this file to your needs using the menu entry under \type {options} +in the top bar. In this file, the following settings apply to the \TEX\ lexer: + +\starttyping +lexer.tex.interface.default=0 +lexer.tex.use.keywords=1 +lexer.tex.comment.process=0 +lexer.tex.auto.if=1 +\stoptyping + +The option \type {lexer.tex.interface.default} determines the way keywords are +highlighted. You can control the interface from your document as well, which +makes more sense that editing the configuration file each time. + +\starttyping +% interface=all|tex|nl|en|de|cz|it|ro|latex +\stoptyping + +The values in the properties file and the keywords in the preamble line have the +following meaning: + +\starttabulate[|lT|lT|p|] +\NC 0 \NC all \NC all commands (preceded by a backslash) \NC \NR +\NC 1 \NC tex \NC \TEX, \ETEX, \PDFTEX, \OMEGA\ primitives (and macros) \NC \NR +\NC 2 \NC nl \NC the dutch \CONTEXT\ interface \NC \NR +\NC 3 \NC en \NC the english \CONTEXT\ interface \NC \NR +\NC 4 \NC de \NC the german \CONTEXT\ interface \NC \NR +\NC 5 \NC cz \NC the czech \CONTEXT\ interface \NC \NR +\NC 6 \NC it \NC the italian \CONTEXT\ interface \NC \NR +\NC 7 \NC ro \NC the romanian \CONTEXT\ interface \NC \NR +\NC 8 \NC latex \NC \LATEX\ (apart from packages) \NC \NR +\stoptabulate + +The configuration file is set up in such a way that you can easily add more +keywords to the lists. The keywords for the second and higher interfaces are +defined in their own properties files. If you're curious about the way this is +configures, you can peek into the property files that start with \type +{scite-context}. When you have \CONTEXT\ installed you can generate configuration +files with + +\starttyping +mtxrun --script interface --scite +\stoptyping + +You need to make sure that you move the result to the right place so best not +mess around with this command and use the files from the distribution. + +Back to the properties in \type {tex.properties}. You can disable keyword +coloring alltogether with: + +\starttyping +lexer.tex.use.keywords=0 +\stoptyping + +but this is only handy for testing purposes. More interesting is that you can +influence the way comment is treated: + +\starttyping +lexer.tex.comment.process=0 +\stoptyping + +When set to zero, comment is not interpreted as \TEX\ code and it will come out +in a uniform color. But, when set to one, you will get as much colors as a \TEX\ +source. It's a matter of taste what you choose. + +The lexer tries to cope with the \TEX\ syntax as good as possible and takes for +instance care of the funny \type {^^} notation. A special treatment is applied to +so called \type {\if}'s: + +\starttyping +lexer.tex.auto.if=1 +\stoptyping + +This is the default setting. When set to one, all \type {\ifwhatever}'s will be +seen as a command. When set to zero, only the primitive \type {\if}'s will be +treated. In order not to confuse you, when this property is set to one, the lexer +will not color an \type {\ifwhatever} that follows an \type {\newif}. + +\subject{The \METAPOST\ lexer} + +The \METAPOST\ lexer is set up slightly different from its \TEX\ counterpart, +first of all because \METAPOST\ is more a language that \TEX. As with the \TEX\ +lexer, we can control the interpretation of identifiers. The \METAPOST\ specific +configuration file is: + +\starttyping +metapost.properties +\stoptyping + +Here you can find properties like: + +\starttyping +lexer.metapost.interface.default=1 +\stoptyping + +Instead of editing the configuration file you can control the lexer with the +first line in your document: + +\starttyping +% interface=none|metapost|mp|metafun +\stoptyping + +The numbers and keywords have the following meaning: + +\starttabulate[|lT|lT|p|] +\NC 0 \NC none \NC no highlighting of identifiers \NC \NR +\NC 1 \NC metapost or mp \NC \METAPOST\ primitives and macros \NC \NR +\NC 2 \NC metafun \NC \METAFUN\ macros \NC \NR +\stoptabulate + +Similar to the \TEX\ lexer, you can influence the way comments are handled: + +\starttyping +lexer.metapost.comment.process=1 +\stoptyping + +This will interpret comment as \METAPOST\ code, which is not that useful +(opposite to \TEX, where documentation is often coded in \TEX). + +The lexer will color the \METAPOST\ keywords, and, when enabled also additional +keywords (like those of \METAFUN). The additional keywords are colored and shown +in a slanted font. + +The \METAFUN\ keywords are defined in a separate file: + +\starttyping +metafun-scite.properties +\stoptyping + +You can either copy this file to the path where you global properties files lives, +or put a copy in the path of your user properties file. In that case you need to +add an entry to the file \type {SciTEUser.properties}: + +\starttyping +import metafun-scite +\stoptyping + +The lexer is able to recognize \type {btex}||\type {etex} and will treat anything +in between as just text. The same happens with strings (between \type {"}). Both +act on a per line basis. + +\subject{Using \ConTeXt} + +When \type {mtxrun} is in your path, \CONTEXT\ should run out of the box. You can +find \type {mtxrun} in: + +\starttyping +<contextroot>/tex/texmf-mswin/bin +\stoptyping + +or in a similar path that suits the operating system that you use. + +When you hit \type{CTRL-12} your document will be processed. Take a look at the +\type {Tools} menu to see what more is provided. + +\subject{Extensions (using \LUA)} + +When the \LUA\ extensions are loaded, you will see a message in the log pane that +looks like: + +\starttyping +- see scite-ctx.properties for configuring info + +- ctx.spellcheck.wordpath set to ENV(CTXSPELLPATH) +- ctxspellpath set to c:\data\develop\context\spell +- ctx.spellcheck.wordpath expands to c:\data\develop\context\spell + +- ctx.wraptext.length is set to 65 +- key bindings: + +Shift + F11 pop up menu with ctx options + +Ctrl + B check spelling +Ctrl + M wrap text (auto indent) +Ctrl + R reset spelling results +Ctrl + I insert template +Ctrl + E open log file +Ctrl + + show language character strip (key might change) + +- recognized first lines: + +xml <?xml version='1.0' language='nl' +tex % language=nl +\stoptyping + +This message tells you what extras are available. The language character strip feature +is relatively new and displays buttons at the bottom of the screen for the characters +in a (chosen) language. This is handy when you occasionally have to key in (snippets) of +a language you're not familiar with. More alphabets will be added (we take data from some +\CONTEXT\ language relates files). + +\subject{Templates} + +There is an experimental template mechanism. One option is to define templates in +a properties file. The property file \type {scite-ctx-context} contains +definitions like: + +\starttyping +command.25.$(file.patterns.context)=insert_template \ +$(ctx.template.list.context) + +ctx.template.list.context=\ + itemize=structure.itemize.context|\ + tabulate=structure.tabulate.context|\ + natural TABLE=structure.TABLE.context|\ + use MP graphic=graphics.usemp.context|\ + reuse MP graphic=graphics.reusemp.context|\ + typeface definition=fonts.typeface.context + +ctx.template.structure.itemize.context=\ +\startitemize\n\ +\item ?\n\ +\item ?\n\ +\item ?\n\ +\stopitemize\n +\stoptyping + +The file \type {scite-ctx-example} defines \XML\ variants: + +\starttyping +command.25.$(file.patterns.example)=insert_template \ +$(ctx.template.list.example) + +ctx.template.list.example=\ + bold=font.bold.example|\ + emphasized=font.emphasized.example|\ + |\ + inline math=math.inline.example|\ + display math=math.display.example|\ + |\ + itemize=structure.itemize.example + +ctx.template.structure.itemize.example=\ +<itemize>\n\ +<item>?</item>\n\ +<item>?</item>\n\ +<item>?</item>\n\ +</itemize>\n +\stoptyping + +For larger projects it makes sense to keep templates with the project. In one of +our projects we have a directory in the path where the project files are kept +which holds template files: + +\starttyping +..../ctx-templates/achtergronden.xml +..../ctx-templates/bewijs.xml +\stoptyping + +One could define a template menu like we did previously: + +\starttyping +ctx.templatelist.example=\ + achtergronden=mathadore.achtergronden|\ + bewijs=mathadore.bewijs|\ + +ctx.template.mathadore.achtergronden.file=smt-achtergronden.xml +ctx.template.mathadore.bewijs.file=smt-bewijs.xml +\stoptyping + +However, when no such menu is defined, we will automatically scan the directory +and build the menu without user intervention. + +\subject{Using \SCITE} + +The following keybindings are available in \SCITE. Most of this list is taken +from the on|-|line help pages. + +\startbuffer[keybindings] +\starttabulate[|l|p|] +\FL +\NC \rm \bf keybinding \NC \bf meaning (taken from the \SCITE\ help file) \NC \NR +\ML +\NC \type{Ctrl+Keypad+} \NC magnify text size \NC \NR +\NC \type{Ctrl+Keypad-} \NC reduce text size \NC \NR +\NC \type{Ctrl+Keypad/} \NC restore text size to normal \NC \NR +\ML +\NC \type{Ctrl+Keypad*} \NC expand or contract a fold point \NC \NR +\ML +\NC \type{Ctrl+Tab} \NC cycle through recent files \NC \NR +\ML +\NC \type{Tab} \NC indent block \NC \NR +\NC \type{Shift+Tab} \NC dedent block \NC \NR +\ML +\NC \type{Ctrl+BackSpace} \NC delete to start of word \NC \NR +\NC \type{Ctrl+Delete} \NC delete to end of word \NC \NR +\NC \type{Ctrl+Shift+BackSpace} \NC delete to start of line \NC \NR +\NC \type{Ctrl+Shift+Delete} \NC delete to end of line \NC \NR +\ML +\NC \type{Ctrl+Home} \NC go to start of document; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+End} \NC go to end of document; \type{Shift} extends selection \NC \NR +\NC \type{Alt+Home} \NC go to start of display line; \type{Shift} extends selection \NC \NR +\NC \type{Alt+End} \NC go to end of display line; \type{Shift} extends selection \NC \NR +\ML +\NC \type{Ctrl+F2} \NC create or delete a bookmark \NC \NR +\NC \type{F2} \NC go to next bookmark \NC \NR +\ML +\NC \type{Ctrl+F3} \NC find selection \NC \NR +\NC \type{Ctrl+Shift+F3} \NC find selection backwards \NC \NR +\ML +\NC \type{Ctrl+Up} \NC scroll up \NC \NR +\NC \type{Ctrl+Down} \NC scroll down \NC \NR +\ML +\NC \type{Ctrl+C} \NC copy selection to buffer \NC \NR +\NC \type{Ctrl+V} \NC insert content of buffer \NC \NR +\NC \type{Ctrl+X} \NC copy selection to buffer and delete selection \NC \NR +\ML +\NC \type{Ctrl+L} \NC line cut \NC \NR +\NC \type{Ctrl+Shift+T} \NC line copy \NC \NR +\NC \type{Ctrl+Shift+L} \NC line delete \NC \NR +\NC \type{Ctrl+T} \NC line transpose with previous \NC \NR +\NC \type{Ctrl+D} \NC line duplicate \NC \NR +\ML +\NC \type{Ctrl+K} \NC find matching preprocessor conditional, skipping nested ones \NC \NR +\NC \type{Ctrl+Shift+K} \NC select to matching preprocessor conditional \NC \NR +\NC \type{Ctrl+J} \NC find matching preprocessor conditional backwards, skipping nested ones \NC \NR +\NC \type{Ctrl+Shift+J} \NC select to matching preprocessor conditional backwards \NC \NR +\ML +\NC \type{Ctrl+[} \NC previous paragraph; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+]} \NC next paragraph; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+Left} \NC previous word; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+Right} \NC next word; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+/} \NC previous word part; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+\ } \NC next word part; \type{Shift} extends selection \NC \NR +\ML +\NC \type{F12 / Ctrl+F7} \NC check (or process) \NC \NR +\NC \type{Ctrl+F12 / Ctrl+F7} \NC process (run) \NC \NR +\NC \type{Alt+F12 / Ctrl+F7} \NC process (run) using the luajit vm (if applicable) \NC \NR +\LL +\stoptabulate +\stopbuffer + +\getbuffer[keybindings] + +\page + +\subject{Affiliation} + +\starttabulate[|l|l|] +\NC author \NC Hans Hagen \NC \NR +\NC copyright \NC PRAGMA ADE, Hasselt NL \NC \NR +\NC more info \NC \type {www.pragma-ade.com} \NC \NR +\NC \NC \type {www.contextgarden.net} \NC \NR +\NC version \NC \currentdate \NC \NR +\stoptabulate + +\stoptext |