<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=US-ASCII">
<meta name="author" content="mailto:webmaster@zap.tartarus.org">
<meta name="description" content="Zap is a configurable programmers' editor for Acorn RISC OS">
<title>Zap manual</title>
</head>
<body background='/img/background.png' text="#000000" bgcolor="#DCDCDC" link="#20209F" vlink="#008000" alink="#FF2020">
<p align='center'>Previous | Contents | <a href="IndexPage">Index</a> | <a href="Chapter1">Next</a></p>
<h1>Zap manual</h1>

<ul>
<li><a href="Chapter1#C1">Chapter 1: Introduction</a>
<ul>
<li><a href="Chapter1#S1.1">1.1 ZAP is a text editor</a>
<ul>
<li><a href="Chapter1#S1.1.1">1.1.1 About this manual</a></li>
<li><a href="Chapter1#S1.1.2">1.1.2 License</a></li>
<li><a href="Chapter1#S1.1.3">1.1.3 Getting in touch</a></li>
<li><a href="Chapter1#S1.1.4">1.1.4 Recent changes</a></li>
</ul></li>
</ul></li>
<li><a href="Chapter2#C2">Chapter 2: Installation: making sure everything's in the right place</a>
<ul>
<li><a href="Chapter2#S2.1">2.1 Getting the right files</a></li>
<li><a href="Chapter2#S2.2">2.2 Core setup</a>
<ul>
<li><a href="Chapter2#S2.2.1">2.2.1 ZapUser: user configuration files</a></li>
<li><a href="Chapter2#S2.2.2">2.2.2 ZapFonts: the global bitmap font resource</a></li>
<li><a href="Chapter2#S2.2.3">2.2.3 Support files</a></li>
</ul></li>
<li><a href="Chapter2#S2.3">2.3 Extensions setup</a></li>
<li><a href="Chapter2#S2.4">2.4 Upgrading from Zap v1.40 or later</a>
<ul>
<li><a href="Chapter2#S2.4.1">2.4.1 Replacing !Zap</a></li>
<li><a href="Chapter2#S2.4.2">2.4.2 Upgrading !ZapFonts</a></li>
<li><a href="Chapter2#S2.4.3">2.4.3 Upgrading !ZapUser</a></li>
</ul></li>
</ul></li>
<li><a href="Chapter3#C3">Chapter 3: Simple operation</a>
<ul>
<li><a href="Chapter3#S3.1">3.1 Loading and creating files</a></li>
<li><a href="Chapter3#S3.2">3.2 A Zap editing window</a>
<ul>
<li><a href="Chapter3#S3.2.1">3.2.1 Titlebar options characters</a></li>
</ul></li>
<li><a href="Chapter3#S3.3">3.3 Basic editing</a>
<ul>
<li><a href="Chapter3#S3.3.1">3.3.1 Zap's cursors</a></li>
</ul></li>
<li><a href="Chapter3#S3.4">3.4 Keyboard shortcuts</a>
<ul>
<li><a href="Chapter3#S3.4.1">3.4.1 Moving around your file</a></li>
<li><a href="Chapter3#S3.4.2">3.4.2 Other useful keystrokes</a></li>
<li><a href="Chapter3#S3.4.3">3.4.3 Keystrokes in dialogue boxes</a></li>
<li><a href="Chapter3#S3.4.4">3.4.4 Zap's minibuffer</a></li>
</ul></li>
<li><a href="Chapter3#S3.5">3.5 Further editing</a>
<ul>
<li><a href="Chapter3#S3.5.1">3.5.1 Undo and redo: recovering from mistakes</a></li>
<li><a href="Chapter3#S3.5.2">3.5.2 Quoting characters</a></li>
<li><a href="Chapter3#S3.5.3">3.5.3 Inserting files</a></li>
</ul></li>
<li><a href="Chapter3#S3.6">3.6 Saving and closing files</a>
<ul>
<li><a href="Chapter3#S3.6.1">3.6.1 Automatic backups</a></li>
</ul></li>
</ul></li>
<li><a href="Chapter4#C4">Chapter 4: Selections</a>
<ul>
<li><a href="Chapter4#S4.1">4.1 Making a selection</a></li>
<li><a href="Chapter4#S4.2">4.2 Copying, pasting, cutting, yanking and moving</a>
<ul>
<li><a href="Chapter4#S4.2.1">4.2.1 The global clipboard</a></li>
</ul></li>
<li><a href="Chapter4#S4.3">4.3 Saving the selection</a></li>
<li><a href="Chapter4#S4.4">4.4 Processing the selection</a>
<ul>
<li><a href="Chapter4#S4.4.1">4.4.1 Indent</a></li>
<li><a href="Chapter4#S4.4.2">4.4.2 Outdent</a></li>
<li><a href="Chapter4#S4.4.3">4.4.3 GNU filters</a></li>
<li><a href="Chapter4#S4.4.4">4.4.4 Sort</a></li>
<li><a href="Chapter4#S4.4.5">4.4.5 Format</a></li>
<li><a href="Chapter4#S4.4.6">4.4.6 Swap case</a></li>
<li><a href="Chapter4#S4.4.7">4.4.7 Upper case</a></li>
<li><a href="Chapter4#S4.4.8">4.4.8 Lower case</a></li>
<li><a href="Chapter4#S4.4.9">4.4.9 Bracket ()</a></li>
<li><a href="Chapter4#S4.4.10">4.4.10 Filters</a></li>
<li><a href="Chapter4#S4.4.11">4.4.11 Filter <code>ZF:sort</code></a></li>
<li><a href="Chapter4#S4.4.12">4.4.12 Filter <code>ZF:format</code></a></li>
<li><a href="Chapter4#S4.4.13">4.4.13 Filter <code>ZF:untab</code></a></li>
</ul></li>
<li><a href="Chapter4#S4.5">4.5 "Sending" the selection</a></li>
</ul></li>
<li><a href="Chapter5#C5">Chapter 5: Mouse control</a>
<ul>
<li><a href="Chapter5#S5.1">5.1 Standard mouse actions</a></li>
<li><a href="Chapter5#S5.2">5.2 Click Send: <code>Alt</code> + double click</a></li>
</ul></li>
<li><a href="Chapter6#C6">Chapter 6: Advanced editing</a>
<ul>
<li><a href="Chapter6#S6.1">6.1 Auto indenting</a></li>
<li><a href="Chapter6#S6.2">6.2 Tabbing</a>
<ul>
<li><a href="Chapter6#S6.2.1">6.2.1 Tab editing</a></li>
<li><a href="Chapter6#S6.2.2">6.2.2 Tab display</a></li>
</ul></li>
<li><a href="Chapter6#S6.3">6.3 Wrapping and formatting your text</a>
<ul>
<li><a href="Chapter6#S6.3.1">6.3.1 Window wrap</a></li>
<li><a href="Chapter6#S6.3.2">6.3.2 Soft wrap</a></li>
<li><a href="Chapter6#S6.3.3">6.3.3 Word wrap</a></li>
<li><a href="Chapter6#S6.3.4">6.3.4 Line wrap</a></li>
<li><a href="Chapter6#S6.3.5">6.3.5 Infinite wrap</a></li>
<li><a href="Chapter6#S6.3.6">6.3.6 Auto soft wrap</a></li>
<li><a href="Chapter6#S6.3.7">6.3.7 Strong soft wrap</a></li>
</ul></li>
<li><a href="Chapter6#S6.4">6.4 Keymaps</a></li>
<li><a href="Chapter6#S6.5">6.5 Cursor behaviour</a>
<ul>
<li><a href="Chapter6#S6.5.1">6.5.1 Line select</a></li>
<li><a href="Chapter6#S6.5.2">6.5.2 Smart movement</a></li>
<li><a href="Chapter6#S6.5.3">6.5.3 Confine horizontally</a></li>
<li><a href="Chapter6#S6.5.4">6.5.4 Confine vertically</a></li>
<li><a href="Chapter6#S6.5.5">6.5.5 Free click</a></li>
</ul></li>
<li><a href="Chapter6#S6.6">6.6 Block editing: quickly editing all lines in a selection</a></li>
<li><a href="Chapter6#S6.7">6.7 Line editing</a></li>
<li><a href="Chapter6#S6.8">6.8 Other options</a></li>
<li><a href="Chapter6#S6.9">6.9 Save options</a></li>
</ul></li>
<li><a href="Chapter7#C7">Chapter 7: Display options</a>
<ul>
<li><a href="Chapter7#S7.1">7.1 Display configuration</a>
<ul>
<li><a href="Chapter7#S7.1.1">7.1.1 Display width</a></li>
<li><a href="Chapter7#S7.1.2">7.1.2 Line numbers</a></li>
<li><a href="Chapter7#S7.1.3">7.1.3 Line spacing</a></li>
<li><a href="Chapter7#S7.1.4">7.1.4 EOL and Tab characters</a></li>
</ul></li>
<li><a href="Chapter7#S7.2">7.2 Fonts</a>
<ul>
<li><a href="Chapter7#S7.2.1">7.2.1 Bitmap font options</a></li>
<li><a href="Chapter7#S7.2.2">7.2.2 Outline font options</a></li>
</ul></li>
<li><a href="Chapter7#S7.3">7.3 Colours</a>
<ul>
<li><a href="Chapter7#S7.3.1">7.3.1 Font substyles</a></li>
</ul></li>
<li><a href="Chapter7#S7.4">7.4 Dumping files</a></li>
<li><a href="Chapter7#S7.5">7.5 Printing files</a></li>
</ul></li>
<li><a href="Chapter8#C8">Chapter 8: Searching</a>
<ul>
<li><a href="Chapter8#S8.1">8.1 Search options</a>
<ul>
<li><a href="Chapter8#S8.1.1">8.1.1 Raw search</a></li>
<li><a href="Chapter8#S8.1.2">8.1.2 Case sensitivity</a></li>
<li><a href="Chapter8#S8.1.3">8.1.3 Macros</a></li>
<li><a href="Chapter8#S8.1.4">8.1.4 To window searching</a></li>
</ul></li>
<li><a href="Chapter8#S8.2">8.2 \-commands</a></li>
<li><a href="Chapter8#S8.3">8.3 Replace</a>
<ul>
<li><a href="Chapter8#S8.3.1">8.3.1 Global replace</a></li>
<li><a href="Chapter8#S8.3.2">8.3.2 The replace expression</a></li>
</ul></li>
<li><a href="Chapter8#S8.4">8.4 Incremental search</a></li>
</ul></li>
<li><a href="Chapter9#C9">Chapter 9: Advanced use</a>
<ul>
<li><a href="Chapter9#S9.1">9.1 Setting and using marks</a></li>
<li><a href="Chapter9#S9.2">9.2 Working with read only files</a></li>
<li><a href="Chapter9#S9.3">9.3 Zap's help system</a></li>
<li><a href="Chapter9#S9.4">9.4 Zap's command language</a>
<ul>
<li><a href="Chapter9#S9.4.1">9.4.1 Command syntax</a></li>
</ul></li>
<li><a href="Chapter9#S9.5">9.5 Learning and playing back actions</a></li>
<li><a href="Chapter9#S9.6">9.6 The universal argument: repeating actions</a></li>
<li><a href="Chapter9#S9.7">9.7 Object Linking and Embedding, and External Edit</a></li>
</ul></li>
<li><a href="Chapter10#C10">Chapter 10: Zap's modes: helping with particular types of file</a>
<ul>
<li><a href="Chapter10#S10.1">10.1 Zap's binary editing modes</a>
<ul>
<li><a href="Chapter10#S10.1.1">10.1.1 Editing in binary modes</a></li>
<li><a href="Chapter10#S10.1.2">10.1.2 Display options in binary modes</a></li>
<li><a href="Chapter10#S10.1.3">10.1.3 Creating files directly from memory</a></li>
<li><a href="Chapter10#S10.1.4">10.1.4 Reading directly from memory.</a></li>
<li><a href="Chapter10#S10.1.5">10.1.5 Reading directly from disc</a></li>
</ul></li>
<li><a href="Chapter10#S10.2">10.2 ASCII editing mode</a></li>
<li><a href="Chapter10#S10.3">10.3 ARM code editing mode</a>
<ul>
<li><a href="Chapter10#S10.3.1">10.3.1 Code mode colours</a></li>
<li><a href="Chapter10#S10.3.2">10.3.2 Advanced disassembly</a></li>
<li><a href="Chapter10#S10.3.3">10.3.3 Module disassembly</a></li>
<li><a href="Chapter10#S10.3.4">10.3.4 AIF disassembly</a></li>
</ul></li>
<li><a href="Chapter10#S10.4">10.4 BASIC editing modes</a>
<ul>
<li><a href="Chapter10#S10.4.1">10.4.1 <em>ARM Basic Editor</em> emulation</a></li>
</ul></li>
<li><a href="Chapter10#S10.5">10.5 C, C++ and Java editing modes</a></li>
<li><a href="Chapter10#S10.6">10.6 ARM assembler editing mode</a></li>
<li><a href="Chapter10#S10.7">10.7 Throwback mode</a></li>
<li><a href="Chapter10#S10.8">10.8 Taskwindow mode</a></li>
<li><a href="Chapter10#S10.9">10.9 Email reading and editing mode</a></li>
<li><a href="Chapter10#S10.10">10.10 HTML editing mode</a></li>
</ul></li>
<li><a href="Chapter11#C11">Chapter 11: Commands: Zap's command language</a>
<ul>
<li><a href="Chapter11#S11.1">11.1 Types of command</a></li>
<li><a href="Chapter11#S11.2">11.2 Parameter evaluation</a>
<ul>
<li><a href="Chapter11#S11.2.1">11.2.1 Allowed syntax</a></li>
<li><a href="Chapter11#S11.2.2">11.2.2 Accessing system variables</a></li>
<li><a href="Chapter11#S11.2.3">11.2.3 Dynamic versus static evaluation</a></li>
</ul></li>
<li><a href="Chapter11#S11.3">11.3 Functions</a></li>
<li><a href="Chapter11#S11.4">11.4 Variables</a>
<ul>
<li><a href="Chapter11#S11.4.1">11.4.1 Local variables</a></li>
<li><a href="Chapter11#S11.4.2">11.4.2 Configuration variables</a></li>
</ul></li>
<li><a href="Chapter11#S11.5">11.5 Conditional constructs</a>
<ul>
<li><a href="Chapter11#S11.5.1">11.5.1 <code>IF</code></a></li>
<li><a href="Chapter11#S11.5.2">11.5.2 <code>CASE</code></a></li>
</ul></li>
<li><a href="Chapter11#S11.6">11.6 Looping constructs</a>
<ul>
<li><a href="Chapter11#S11.6.1">11.6.1 <code>WHILE</code></a></li>
<li><a href="Chapter11#S11.6.2">11.6.2 <code>REPEAT</code></a></li>
</ul></li>
<li><a href="Chapter11#S11.7">11.7 Examples</a>
<ul>
<li><a href="Chapter11#S11.7.1">11.7.1 Simple conditional</a></li>
<li><a href="Chapter11#S11.7.2">11.7.2 Simple loop</a></li>
<li><a href="Chapter11#S11.7.3">11.7.3 'For'-style loop and static evaluation</a></li>
<li><a href="Chapter11#S11.7.4">11.7.4 Loop and conditional</a></li>
</ul></li>
</ul></li>
<li><a href="Chapter12#C12">Chapter 12: Customising and configuring Zap</a>
<ul>
<li><a href="Chapter12#S12.1">12.1 Other complete configuration setups</a></li>
<li><a href="Chapter12#S12.2">12.2 Binary configuration options</a>
<ul>
<li><a href="Chapter12#S12.2.1">12.2.1 Per-mode options</a></li>
<li><a href="Chapter12#S12.2.2">12.2.2 Mode cloning</a></li>
<li><a href="Chapter12#S12.2.3">12.2.3 Configuring Zap's cursors</a></li>
<li><a href="Chapter12#S12.2.4">12.2.4 Configuring the minibuffer</a></li>
<li><a href="Chapter12#S12.2.5">12.2.5 Miscellaneous configuration options</a></li>
<li><a href="Chapter12#S12.2.6">12.2.6 Autoloading internal extensions</a></li>
</ul></li>
<li><a href="Chapter12#S12.3">12.3 Textual configuration</a>
<ul>
<li><a href="Chapter12#S12.3.1">12.3.1 Miscellaneous settings</a></li>
<li><a href="Chapter12#S12.3.2">12.3.2 Zap's behaviour with different file types and locations</a></li>
<li><a href="Chapter12#S12.3.3">12.3.3 Configuring Zap's keystrokes</a></li>
<li><a href="Chapter12#S12.3.4">12.3.4 Configuring Click Send</a></li>
<li><a href="Chapter12#S12.3.5">12.3.5 Configuring Zap's menus</a></li>
<li><a href="Chapter12#S12.3.6">12.3.6 c-vars</a></li>
</ul></li>
<li><a href="Chapter12#S12.4">12.4 Internationalisation</a></li>
<li><a href="Chapter12#S12.5">12.5 Differences in different versions of RISC OS</a>
<ul>
<li><a href="Chapter12#S12.5.1">12.5.1 Dynamic areas</a></li>
<li><a href="Chapter12#S12.5.2">12.5.2 Templates</a></li>
<li><a href="Chapter12#S12.5.3">12.5.3 NCOS</a></li>
</ul></li>
</ul></li>
<li><a href="Chapter13#C13">Chapter 13: Extensions to Zap</a>
<ul>
<li><a href="Chapter13#S13.1">13.1 <em>ZapSpell</em>: spell checking for Zap</a></li>
<li><a href="Chapter13#S13.2">13.2 Behind-the-scenes extensions to Zap</a>
<ul>
<li><a href="Chapter13#S13.2.1">13.2.1 Olly Betts' <em>Line editor</em></a></li>
<li><a href="Chapter13#S13.2.2">13.2.2 <em>ExtBASICAsm</em>: extended assembly and disassembly</a></li>
<li><a href="Chapter13#S13.2.3">13.2.3 <em>HidePtr</em>: hiding the mouse pointer while you work</a></li>
<li><a href="Chapter13#S13.2.4">13.2.4 <em>DeepKeys</em>: Better keyboard response</a></li>
<li><a href="Chapter13#S13.2.5">13.2.5 <em>FlashCar</em>: flashing the cursor in dialogue boxes</a></li>
<li><a href="Chapter13#S13.2.6">13.2.6 <em>IClear</em>: clear writeable icons using the mouse</a></li>
</ul></li>
</ul></li>
<li><a href="Chapter14#C14">Chapter 14: Developing for Zap</a>
<ul>
<li><a href="Chapter14#S14.1">14.1 Developer mailing lists</a></li>
<li><a href="Chapter14#S14.2">14.2 Writing extensions to Zap</a>
<ul>
<li><a href="Chapter14#S14.2.1">14.2.1 Writing additional Zap commands</a></li>
<li><a href="Chapter14#S14.2.2">14.2.2 Writing a Zap mode</a></li>
</ul></li>
<li><a href="Chapter14#S14.3">14.3 Working on the Zap core</a></li>
<li><a href="Chapter14#S14.4">14.4 Working on Zap's documentation</a></li>
</ul></li>
<li><a href="Chapter15#C15">Chapter 15: How to find out more</a>
<ul>
<li><a href="Chapter15#S15.1">15.1 Other documentation that comes with Zap</a></li>
<li><a href="Chapter15#S15.2">15.2 The future: ideas, bugs, and obtaining upgrades</a></li>
<li><a href="Chapter15#S15.3">15.3 Credits</a></li>
<li><a href="Chapter15#S15.4">15.4 Getting in touch with Zap developers</a></li>
</ul></li>
<li><a href="AppendixA#AA">Appendix A: Default keystrokes</a>
<ul>
<li><a href="AppendixA#SA.1">A.1 Common editing keys</a></li>
<li><a href="AppendixA#SA.2">A.2 Cursor keys</a></li>
<li><a href="AppendixA#SA.3">A.3 Miscellaneous keys</a></li>
<li><a href="AppendixA#SA.4">A.4 Keypad keys</a></li>
<li><a href="AppendixA#SA.5">A.5 Function keys</a></li>
<li><a href="AppendixA#SA.6">A.6 Control letters</a></li>
</ul></li>
<li><a href="IndexPage#Index">Index</a></li>
</ul>

<hr><address><a href='/copyright'>&copy; Copyright Zap Developers 1992-2004</a>. All Rights Reserved.
</address></body>
</html>
