THE SEMWARE(R) EDITOR JUNIOR (formerly QEdit(R)) Version 4 R E F E R E N C E M A N U A L Please note that this is the shareware version of the documentation, and has been abridged from the original document that accompanies the registered version of the software. The licensed commercial version includes the complete indexed, bound manual. Copyright 1985-1995 SemWare Corporation. All rights reserved worldwide. This software embodies valuable trade secrets proprietary to SemWare Corporation. SemWare is a registered trademark of SemWare Corporation. All other trademarks and registered trademarks referenced in this document are the property of their respective owners. The QEdit registered trademark is used under license from Robelle Consulting Ltd. The SemWare(R) Editor Junior (TSE Jr.) software products were formerly called QEdit(R) (QEdit Advanced, QEdit TSR, and QEdit for OS/2). Specifications subject to change without notice. The READ.ME file contains information which supplements this documentation. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ SALES AND SUPPORT ³ ³ ³ ³ SemWare Corporation ³ ³ Suite C3A ³ ³ 4343 Shallowford Road ³ ³ Marietta, GA 30062-5022 ³ ³ U.S.A. ³ ³ ³ ³ ³ ³ Orders ONLY: (800) 467-3692 Inside USA, 9am-5pm ET ³ ³ ³ ³ Other Voice Calls: (770) 641-9002 9am - 5pm ET ³ ³ ³ ³ InterNet: sales@semware.com ³ ³ or tech.support@semware.com ³ ³ CompuServe: GO SEMWARE (select Section 6) ³ ³ or 75300,2710 ³ ³ ³ ³ FAX: (770) 640-6213 24 hours ³ ³ BBS: (770) 641-8968 24 hours ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ _______ ____|__ | (R) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| MEMBER This program is produced by a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427, or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536. THE SEMWARE EDITOR JUNIOR SHAREWARE SOFTWARE LICENSE ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ This version of The SemWare Editor Junior (the "Software") is NOT public domain or free software, but is being distributed as "shareware" for EVALUATION PURPOSES ONLY. Your use of this Software indicates your agreement to the terms and conditions of this License. COPYRIGHT, PROPRIETARY RIGHTS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The SemWare Editor Junior (TSE Jr.) Software is owned by SemWare Corporation or its suppliers and is protected by United States copyright laws and international treaty provisions. You may not reverse engineer, decompile, disassemble, or create derivative works based on the Software for any purpose other than creating an adaptation to the Software as an essential step in its utilization for your own use. This Software embodies valuable trade secrets proprietary to SemWare; you may not disclose any information regarding the internal operations of this Software to others. USAGE RESTRICTIONS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SemWare grants a limited license to individuals to use this shareware Software for a 30-day evaluation period on a private, non-commercial basis, for the express purpose of determining whether TSE Jr. is suitable for their needs. At the end of this 30-day evaluation period, the individual must either purchase a license from SemWare for continued use of the Software, or discontinue using TSE Jr. What does this mean? If you use this Software on a continued basis, you must purchase a license for its use. TSE Jr. is NOT free, and we are not giving away free copies. We are giving you the opportunity to try it before paying for a license for continued use. It is that simple. Try it for 30 days. Then either pay for it, or quit using it. Paying for a license to continue using the Software product is not only required, but also allows SemWare to provide support and updates, and stay in business. Licensed users receive printed documentation; a built-in spelling checker; a macro compiler/decompiler (QMAC); additional utilities and configuration files; and a version of the program that does NOT show the opening and closing shareware reminder screens. Registration of the licensed copy entitles the registered user to receive technical support (by phone, fax, our own support BBS, mail, or various electronic services such as CompuServe or InterNet), and makes them eligible for discounts on future versions. Purchasing a license for The SemWare Editor Junior entitles you to use the Software on any and all computers available to you, provided you do not operate the Software on more than one computer or terminal at a time and you do not operate the Software on a network or a multi-user system. If you would like a network or multi-user license, please contact SemWare for details. DISTRIBUTION, COPYING RESTRICTIONS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Individuals are granted a limited license to copy the SHAREWARE version of TSE Jr. only for the trial use of other individuals in accordance with the limitations identified in this License, and subject to the following restrictions: 1. You MAY NOT distribute the Software in connection with any other product or service. 2. You MAY NOT make general use of the Software within a company, institution, or agency. 3. You MAY NOT copy or distribute the Software for any consideration or "disk fee". 4. You MAY NOT copy or distribute the Software in modified form. (Any distribution must include ALL FILES supplied by SemWare with the shareware version of The SemWare Editor Junior, WITHOUT ALTERATION.) 5. You MAY NOT distribute the Software documentation, in whole or in part, in printed form. Operators of electronic bulletin board systems (Sysops) are permitted and encouraged to post the shareware version of TSE Jr. for downloading by their users, as long as the above conditions are met. Though a fee may be charged for BBS access, NO FEE may be charged to specifically access or download the TSE Jr. shareware files. Non-profit computer-related User Groups may distribute the shareware version of TSE Jr. provided the above conditions are met. However, such User Groups MAY charge a NOMINAL fee to cover the cost of the disk and copying of the Software. Disk vendors MUST obtain written permission from SemWare before distributing the shareware version of TSE Jr. Certain restrictions apply. Generally, ASP approved vendors are granted permission. For further details, see VENDOR.DOC. WARRANTY DISCLAIMER ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SEMWARE PROVIDES THE SHAREWARE VERSION OF THE SEMWARE EDITOR JUNIOR "AS IS" AND WITHOUT ANY WARRANTY. TO THE EXTENT PERMITTED UNDER APPLICABLE LAW, SEMWARE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SPECIFICALLY, SEMWARE MAKES NO REPRESENTATION OR WARRANTY THAT THE SOFTWARE IS FIT FOR ANY PARTICULAR PURPOSE. SEMWARE SHALL NOT BE LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO, LOSS OF PROFIT, DATA OR USE OF THE SOFTWARE, OR INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR OTHER SIMILAR CLAIMS, EVEN IF SEMWARE HAS BEEN SPECIFICALLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE FOREGOING LIMITATION MAY NOT APPLY TO YOU. U. S. GOVERNMENT LICENSEES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If you are acquiring the Software on behalf of any unit or agency of the United States Government, the following provisions apply: The Government acknowledges SemWare's representation that the Software and its documentation were developed at private expense and no part of same is in the public domain. The Government acknowledges SemWare's representation that the Software is "Restricted Computer Software" as that term is defined in Clause 52.227-19 of the Federal Acquisition Regulations (FARs) and is "Commercial Computer Software" as that term is defined in Subpart 27.401 of the Department of Defense Federal Acquisition Regulation Supplement (DFARS). The Government agrees that: (i) if the Software is supplied to the Department of Defense (DoD), the Software is classified as "Commercial Computer Software" and the Government is acquiring only "restricted rights" in the Software and its documentation as that term is defined in Clause 252.227-7013(c)(1)(ii) of the DFARS, and (ii) if the Software is supplied to any unit or agency of the United States Government other than the DoD, the Government's rights in the Software and its documentation will be as defined in Clause 52.227-19(c)(2) of the FARs. RESTRICTED RIGHTS LEGEND. Use, duplication or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights In Technical Data and Computer Software clause at DFARS 252.227-7013. SemWare Corporation, 4343 Shallowford Road, Suite C3A, Marietta, Georgia 30062-5022, U.S.A. EXPORT LAW ASSURANCES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ You acknowledge and agree that the Software is subject to restrictions and controls imposed by the United States Export Administration Act (the "Act") and the regulations thereunder. You agree and certify that neither the Software nor any adaptation thereof is being or will be acquired, shipped, transferred or reexported, directly or indirectly, into any country prohibited by the Act and the regulations thereunder, nor will it be used for any purpose prohibited by the same. GOVERNING LAW AND GENERAL PROVISIONS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This License and Warranty Disclaimer shall be construed, interpreted and governed by the laws of the State of Georgia, U.S.A. If any provision is found void, invalid or unenforceable, it will not affect the validity of the balance of this License and Warranty Disclaimer which shall remain valid and enforceable according to its terms. This License and Warranty Disclaimer may only be modified in writing signed by you and a specifically authorized representative of SemWare. All rights not specifically granted in this License are reserved by SemWare. ORDERING INFORMATION ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Purchasing a license for TSE Jr. allows you to use the product on a regular and/or continuing basis. Registration of your licensed copy of TSE Jr. entitles you to technical support from SemWare, discounts on updates, and access to the Registered User area of our support BBS (770/641-8968, , 1200/2400/9600 baud, 24 hours a day). With your purchase, you will receive: a licensed copy of TSE Jr. V4.0 with a 90-day limited warranty; a bound, indexed manual; a built-in spelling checker; a macro compiler/decompiler (QMAC); and additional utilities for use with TSE Jr. We offer discounts to educational institutions, full-time students, BBS sysops, US and Georgia government agencies, and various approved Computer-related User Groups. Students must include proof of full-time student status (photocopy of current registration slip or student ID card). BBS sysops must supply the name and number of their BBS, along with any other relevant information. User Groups must be members of our SemWare Supporter program. Call for details. All prices and discounts are subject to change without notice. MULTI-USER LICENSES AND QUANTITY PURCHASES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ All corporate, business, government, educational, or other commercial, public, or private users of TSE Jr. must be licensed. We offer quantity discounts as well as multi-user licensing. Please call or write for more information. ORDERS OUTSIDE THE U.S.A ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Please use your MasterCard, VISA, American Express, or Discover card when ordering, or send a check drawn on a US bank payable in US dollars. *** The SemWare Editor Junior version 4.0, October 1995 *** * SINGLE-USER LICENSE ORDER FORM * MAIL: SemWare Corporation FAX: (770) 640-6213 24 hours 4343 Shallowford Rd, Suite C3A BBS: (770) 641-8968 24 hours Marietta, GA 30062-5022 USA CIS: 75300,2710 InterNet: sales@semware.com PHONE (Orders ONLY): (800) 467-3692 OTHER VOICE CALLS: (770) 641-9002 Inside USA, 9am-5pm ET 9am-5pm ET ========================================================================== ____ TSE Jr. V4.0 with printed manual ........... @ $59.00 ea $ ______ SHIPPING (each copy) .... US/Canada/Mexico: $5; Overseas: $12 $ ______ PURCHASE ORDERS under $100.00, add $6 Billing Fee ........... $ ______ (Does NOT apply to PREPAID Check or Charge Card orders) SUBTOTAL $ ______ GEORGIA RESIDENTS please add Sales Tax ................ @ 5% $ ______ TOTAL (U.S. Dollars drawn on U.S. Bank, payable to SemWare) $ ______ NOTE: Software is provided on 3-1/2" diskette. -------------------------------------------------------------------------- Payment by: ( )CHECK ( )VISA ( )MC ( )AMEX ( )DISCOVER ( )PO#_____________ (copy attached) Name: _____________________________________________________________ Company (ONLY if company address):_________________________________ Address: __________________________________________________________ : __________________________________________________________ : __________________________________________________________ Voice Phone: _______________________ FAX: ______________________ Card #: _________________________________ Exp. Date: ______________ Signature of cardholder: __________________________________________ THE SEMWARE EDITOR JUNIOR SOFTWARE IS LICENSED ONLY IN ACCORDANCE WITH THE SEMWARE LICENSE AGREEMENT THAT ACCOMPANIES THE SOFTWARE. Prices subject to change without notice. Call to confirm current prices. Contact us about quantity discounts and multi-user licenses, as well as discounts for full-time students, BBS sysops, and approved User Groups. TABLE OF CONTENTS ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ INTRODUCTION FEATURES SYSTEM REQUIREMENTS INSTALLATION Tasks to Perform Following Installation Setting Up the Editor on a Laptop System 1. USER'S GUIDE QUICK START Getting Started In the Editor Getting Out MENUS THE STATUSLINE PROMPTS USING A MOUSE Mouse Equipment General Use of the Mouse Using the Pull-Down Menus Positioning the Cursor and Scrolling Text Marking a Block Using the Pop-Up Mouse Menu Working with Windows Summary of Mouse Operations FILES Creating New Files Loading Existing Files Locating a File on Disk Changing the Current Directory from within the Editor Invoking the Editor at a Specific Line Number Multiple Files: The Ring Saving Files and Exiting Read-Only Files VIEWING AND GETTING AROUND IN THE TEXT Cursor Movement Moving Through a File Moving Around on the Screen Moving By Lines and Characters Using Windows Creating Windows Switching Windows Changing Window Size Closing Windows Synchronized Scrolling in Windows FINDING AND REPLACING TEXT Finding Text Replacing Text COPYING, MOVING, CHANGING, AND DELETING TEXT Block Commands Marking and Unmarking a Block CUA-Style Block Marking Manipulating Blocks Directly Manipulating Blocks Using Scrap Buffers Manipulating Blocks Using Scratch Buffers Accessing the Microsoft Windows Clipboard Examples of Block Commands Non-Block Commands Adding Text Copying Text Moving Text Deleting And Undeleting Text Changing Case Sorting The Kill Buffer - A Safety Net MACROS PRINTING Print Formatting Formfeeds THE SHELL AND DOS COMMANDS Swapping, [JR] Shell Indicator WORD-PROCESSING COMMANDS MODES 2. CUSTOMIZING THE EDITOR INITIATING THE CONFIGURATION PROGRAM THE CONFIGURATION MENU ADVANCED OPTIONS COLORS/SCREEN OPTIONS GENERAL OPTIONS THE HELP SCREEN KEYBOARD CONFIGURATION The Keyboard Definition File Creating a Keyboard Definition File PRINTER OPTIONS TAB SETTINGS 3. COMMAND REFERENCE INTRODUCTION ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The SemWare Editor Junior (TSE Jr.), formerly called QEdit, is a full-screen text editor for the IBM PC and compatible computers. TSE Jr. is intended for use by those who want a fine-tuned, versatile DOS editor that is inexpensive, and operates efficiently in limited resources. (For those who want a more powerful editor that includes virtual-memory support, a full-featured programming language, and wildcard search and replace capabilities, we offer The SemWare Editor Professional.) This manual describes the use and operation of TSE Jr., and includes a user's guide, a chapter on customizing the editor, and a reference section for editor commands. A separate file, MACRO.DOC, contains information about keyboard macros and the editor's macro language. TSE Jr. is a text editor as opposed to a word processor. This means that most of its features are geared toward creating and maintaining program source code and other text files. However, it can also be used like a word processor to write documents or letters since it includes many word-processing capabilities. The editor was developed with these goals in mind: * FAST OPERATION - More than anything else, the editor was designed to operate quickly, especially in these areas: - Initially loading a file for editing. - Displaying/updating the screen. - Moving through the editing window. - Searching for text. - Saving a file back to disk. * EASE OF USE - This version includes: - Optional "pull-down" menus. - Customizable Help Screen. - Complete execution from a single file (Q.EXE). - Pop-up file directory and picker. * COMPACT PROGRAM SIZE - Every effort has been made to keep the program size as compact as possible. Even though memory is getting cheaper all the time, we do not want the editor to require any more memory than absolutely necessary. TSE Jr. is available in three versions: the standard DOS version, the memory-resident DOS version (TSE Jr./Mem-Res), and the OS/2 version (TSE Jr./2). All three versions offer the same rich set of features and behave in much the same manner. This shareware version is based on the standard DOS version of TSE Jr. FEATURES ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The editor offers a number of powerful features for editing text, both easily and quickly. To put that power at your fingertips, the editor: * Is very fast! * Is highly customizable. The editor can be easily configured the way you like. You can configure ALL of the special keys on the keyboard (Alt, Ctrl, and function keys; , , etc.), as well as the colors, screen appearance, and many other options. * Is easy to use. An optional "pull-down" menu provides ready access to the editor's commands, and the Help Screen can be customized for your own needs. * Can be used with a mouse. You can optionally perform scrolling, window, block, and menu operations using your mouse. * Is compact. Even with all these features, the editor requires less than 70K of disk space. * Utilizes all available conventional DOS memory (up to 640K). Edit files as large as your computer's memory will allow. * Allows multi-file editing. The number of files you can edit is limited only by available conventional memory. * Accommodates editing of files with a line length of up to 2032 characters. * Enables you to view files through multiple horizontal, resizable windows. You can have multiple views of the same file or view a different file in each window. * Allows you to simultaneously scroll the text in multiple windows (with synchronized scrolling). * Offers a utility to locate a file when you do not remember the directory in which it exists, or you do not recall the exact name of the file. * Provides up to 99 scratch buffers for cut-and-paste or template operations. You can even select a buffer from a pick list of your current scratch buffers. * Allows you to temporarily exit to DOS (or a DOS shell) and use DOS commands from within the editor. Optionally, the editor can swap to disk or expanded memory to allow even the largest programs (such as compilers) to run without exiting the editor. * Allows you to copy or paste text directly between the current file and the Microsoft Windows Clipboard (or the OS/2 Clipboard, in the OS/2 version of the editor). * Supports numerous character, line, and column Block operations. If you prefer, you can configure the editor to recognize CUA-style Block marking (using the shifted cursor keys). * Saves deleted words, lines, and Blocks in a deletion buffer for later recall. * Will load multiple files from the DOS command line, with or without wildcard characters. * Allows you to specify up to six default file extensions for use when loading files and determining tab settings. * Provides line-drawing capability to create diagrams and tables. * Supports enhanced (101-key) keyboards. * Supports EGA 43-line mode, and VGA 28-line and 50-line modes. * Offers a built-in Sort command, with options for ascending, descending, and case-insensitive sorting. * Includes many helpful options for finding and replacing text, allowing you to: incrementally search for a string; perform a "global" find or replace (throughout the entire file); perform a "local" find or replace (limited to a marked Block); and anchor a find or replace to the beginning or end of a line or Block. * Provides the ability to shift entire Blocks using the tab left and right commands (TabLt and TabRt). * Allows you to fill a Block with a specified character (FillBlock command). * Offers an optional large, flashing block cursor as a configuration option. This is especially helpful for use on laptop computers. * Provides a pop-up ASCII chart that allows you to directly insert the selected character into your text. * Allows you to display a visual directory tree to change the current directory from within the editor. * Includes various tab-handling options, including variable, smart, and fixed tabs. For your word-processing needs, the editor: * Contains a fully-integrated Spell Checker (in the registered version) that suggests spellings for misspelled words (less than 200K additional disk space required to load dictionary). * Provides wordwrap and paragraph-reformat capabilities. * Includes options to change the case of characters (Flip, Lower, Upper commands). * Gives you the ability to center the text on a line (CenterLine command). * Includes commands that allow you to swap adjacent characters, words, and lines. * Offers various printing options, such as specification of top and bottom print margins (SetPrintBotMargin, SetPrintTopMargin commands), assignment of the print device, ability to adjust line spacing, and inclusion of line numbers. * Allows you to configure the date and time formats. * Includes an option to display the hex and decimal values of the current character on the StatusLine. To further enhance the editor's operation, the macro facility: * Allows you to create macros that will execute a series of commands and keystrokes by pressing a single key. * Offers a simple macro scripting language. * Includes the ability to load and/or execute macros from the DOS command line, as well as an option to execute an automatic startup macro. * Supports conditional logic (Jump, JTrue, JFalse commands). To assist you in your programming tasks, the editor: * Provides "C mode", which utilizes automatic indentation for C-language programming. * Locates matching braces and parentheses, which is very useful for entering and maintaining source code. * Allows you to execute command-line compilers from within the editor, using the macro facility. * Offers a DOS command-line option (-n) for jumping to a specific line number within a file upon loading. SYSTEM REQUIREMENTS ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The editor requires an IBM PC or 100% compatible computer. MINIMUM requirements are: * 128 KB of memory for the standard DOS version. * PC-DOS or MS-DOS, v2.0 or greater, for the DOS versions. * One diskette drive. * Either a color or a monochrome monitor with 80-column display. * Less than 70 KB of disk space (or less than 250 KB if the spell-checker dictionary is installed, in the registered version). * The editor program itself: Q.EXE. Once configured, no other files are necessary for operating the editor. (Note: Additional files are required to use the spell checker that is included in the registered version.) INSTALLATION ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Tasks to Perform Following Installation ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If you placed the editor in a directory that is not already listed in your path, you may want to modify the PATH statement in your AUTOEXEC.BAT to include the editor directory. This allows you to run the editor from any directory on your machine. Please review the contents of the READ.ME file included with the software. This file contains important information (usage information, new features, changes, etc.) that became available after this manual was created. The READ.ME file also contains a complete list of the files included with the software. A partial list is included here: TSE Jr. File Description ÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Q.EXE The SemWare Editor Junior program. Once configured, this is the only file needed to run the basic editor. Note: Configuration of the editor requires additional files. QCONFIG.EXE The configuration program. This program allows you to customize the editor. QCONFIG.DAT The default Keyboard Definition file. Used by QCONFIG.EXE. QHELP.TXT The default Help text. Used by QCONFIG.EXE. Note: After you have tried TSE Jr., you may wish to permanently customize some of the options. The editor comes with a configuration program, QCONFIG, that makes customizing the editor easy. See Chapter 2, "Customizing the Editor," for instructions. Setting Up the Editor on a Laptop System ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If you have a laptop computer (one with an LCD or plasma display), you should set your screen parameters before using the editor. For the best operation, enter MODE BW80 at the DOS command line before running the editor. Alternatively, you can install the editor for a black-and-white screen with the customization program, QCONFIG. Refer to Chapter 2, "Customizing the Editor." With this customization program, you should choose "1" (Monochrome) from the "Colors/screen" options, when prompted with "Startup attribute set:". ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ Please note that one of the MAJOR features of the editor ³ ³ is configurability. You can customize the colors, the ³ ³ keys, the on-screen appearance of the editor, and many ³ ³ other functions. ³ ³ ³ ³ By spending just a small amount of time reviewing Chapter ³ ³ 2 on configuration, you can benefit greatly through ³ ³ customizing the editor to your personal preferences. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ CHAPTER 1. USER'S GUIDE ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ QUICK START ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ In the editor, you can edit any text file with a few simple commands. The next three sections briefly describe the quickest way possible to load, edit, and save a file. Getting Started ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Using the editor is simple and straightforward. To initiate the editor, type "Q ". The editor will respond with a prompt for the name of the file to be edited. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ File(s) to edit: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter the filename. The filename may include the full path designation. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ At any "File(s) to edit:" prompt, you may use wildcard ³ ³ characters (* or ?) to obtain a list of matching files in ³ ³ the directory. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ You may optionally include the filename on the DOS command line in order to bypass this prompt. For example, from the DOS command line, type: q In the Editor ÄÄÄÄÄÄÄÄÄÄÄÄÄ Once you are in the editor, the cursor movement keys (Left, Right, Up, Down, Home, End, ...) allow you to move around in the text. To obtain a Help Screen, simply press . Pressing again (or any other key) returns you to the text. To obtain a menu of editing commands, press . You may then use the cursor movement keys to position the cursor bar over the desired command. Press to execute the command. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ Within a prompt for a command, press to cancel the ³ ³ command (and the prompt). ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Getting Out ÄÄÄÄÄÄÄÄÄÄÄ The easiest way to get out of the editor and save all the work you have done is to enter . MENUS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor provides an easy-to-use "pull-down" style menu system. The menu system is very helpful while learning to use the editor. It is also handy for executing seldom-used commands. To access the menus and execute a command: 1. Press . The main menu is displayed at the top of the screen. The main menu consists of a list of sub-menu items. 2. Select a sub-menu item. To do this, either move the cursor bar to the desired item and press ; or type the highlighted character, or "quick-key," of the desired item. 3. Execute a command. This is done in the same manner as selecting the sub-menu items. Here is an example of the pull-down style menu system. The User is about to execute the CopyBlock command. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³File Window ±Block± Search Print Macro Editing Other Quit ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ Mark Line ³ ³ Mark Character ³ ³ Mark Column ³ ³ Mark Begin ³ ³ Mark End ³ ³ UnMark ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³±Copy Block±±±±±±±±³ ³ Move Block ³ ³ Delete Block ³ ³ Copy Over ³ ³ Fill... ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Sort ³ ³ Ignore Case [Off] ³ ³ Descending [Off] ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ As an added convenience, the default configuration of the editor allows you to directly access the File, Print, and Quit sub-menus by pressing , , or , respectively. You can execute many editing commands using the menus. As you become more familiar with the editor, you may wish to use the , , and function key assignments, instead of the menus, to execute commands more quickly. THE STATUSLINE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ At the top of the editing screen is the StatusLine. The StatusLine constantly displays information about the file you are currently editing. The StatusLine is shown below with a description of the information displayed. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³L 15 C 15 IAWRBS 411K *c:\semware\status.doc 20h,32³ ÀÄÄÂÄÄÄÄÄÄÂÄÄÄÄÂÂÂÂÂÂÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÙ ³ ³ ³³³³³³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³³³³³³ ³ ³ ³ ³ ³ ³ ³³³³³³ ³ ³ ³ ³ ³ ³ ³³³³³³ ³ ³ ³ ÀÄÄÄ The hex and decimal ³ ³ ³³³³³³ ³ ³ ³ value for the character ³ ³ ³³³³³³ ³ ³ ³ at the cursor position, ³ ³ ³³³³³³ ³ ³ ³ if this option is ON. ³ ³ ³³³³³³ ³ ³ ³ ³ ³ ³³³³³³ ³ ³ ÀÄÄÄ The path and name of the ³ ³ ³³³³³³ ³ ³ file you are editing ³ ³ ³³³³³³ ³ ³ ³ ³ ³³³³³³ ³ ÀÄÄÄ *) Indicates file has been changed ³ ³ ³³³³³³ ³ ³ ³ ³³³³³³ ÀÄÄÄÄÄ Amount of available memory ³ ³ ³³³³³³ (DOS versions only) ³ ³ ³³³³³³ ³ ³ ³³³³³ÀÄÄÄ S) Indicates Synchronized Scrolling mode is ON ³ ³ ³³³³³ ³ ³ ³³³³ÀÄÄÄ B) Indicates Box Drawing mode is ON ³ ³ ³³³³ ³ ³ ³³³ÀÄÄÄ R) Indicates Macro Recording is ON ³ ³ ³³³ ³ ³ ³³ÀÄÄÄ W) Indicates WordWrap mode is ON ³ ³ ³³ ³ ³ ³ÀÄÄÄ A) Indicates AutoIndent mode is ON ³ ³ ³ ³ ³ ÀÄÄÄ I) Indicates Insert mode is ON ³ ³ ³ ÀÄÄÄÄ The current cursor column number ³ ÀÄÄÄÄ The current cursor line number For more information on Insert, AutoIndent, WordWrap, and Box Drawing, refer to the "Modes" section in this chapter. For more information on macro recording, see the file MACRO.DOC. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ The StatusLine may be configured to appear at the bottom ³ ³ of the screen. Refer to the "Colors/Screen Options" ³ ³ section of Chapter 2 for more information. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ PROMPTS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ When the editor needs information from the user (such as the name of a file to edit, a search string, etc.), a prompt is issued. The prompt consists of a message, telling what information is requested, and an area for the user to enter a response. The following commands are available in prompts (if assigned to a key): AsciiChart CursorLeft DirTree Paste BackSpace CursorRight EndLine Pause BegLine DelCh Escape Return CopyBlock DelLine Literal ToggleInsert CurrentFilename DelToEol LocateFile Other commands are simply ignored. Note: Execute DelLine ( or ) to clear the response area of any prompt. USING A MOUSE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ You can optionally use the mouse to perform a wide range of functions within the editor, including selecting items from a menu or a pick list, positioning the cursor on the screen, scrolling text, marking and manipulating Blocks, and creating and moving between windows. Mouse Equipment ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ To use a mouse in the editor, the mouse must be enabled. This is done by setting the configuration option "Enable mouse processing" to . (This is the default setting for this option. Refer to the "Advanced Options" section of Chapter 2.) To fully use the mouse capabilities, the editor must also be configured to display a full border around each window on the screen. This is because the mouse uses the border area to scroll text and perform many window operations. To display a border around each window, set the configuration option "Do you want the display boxed" to . (Refer to the "Colors/Screen Options" section of Chapter 2.) When the editor detects that a mouse is present and enabled, the following special mouse-sensitive areas are included in the window borders. (These areas, called mouse "hot spots", are used by the mouse to perform particular operations, described later in this section.) * A horizontal scrollbar is placed in each bottom window border, and a vertical scrollbar is placed in each right-hand border. * The  symbol is located at the left of each horizontal scrollbar, and the  symbol is located at the right. * The  symbol is located at the top of each vertical scrollbar, and the  symbol is located at the bottom. * Within each horizontal scrollbar, an elevator shaft runs between the  and  symbols, and includes an Û elevator symbol. This horizontal elevator moves within the elevator shaft according to your relative column position in the current file. * Within each vertical scrollbar, another elevator shaft runs between the  and  symbols, and includes an Û elevator symbol. This vertical elevator moves within the elevator shaft according to your relative line position in the current file. * The [] or [] symbol is located on the right-hand side of the StatusLine of each window when multiple windows are open. When the windows are non-zoomed, the [] symbol is displayed in each window. When a window is zoomed, the [] symbol is displayed in the zoomed window. * The [þ] symbol is located on the left-hand side of the StatusLine of each window when multiple windows are open. If desired, you can configure the editor for left-handed use of the mouse (rather than right-handed). To do this, set the configuration option "Left-handed mouse" to . (Refer to the "Advanced Options" section of Chapter 2.) Additional configuration options have an effect on the behavior of the mouse in the editor. Refer to the "Advanced Options" section of Chapter 2 for more information. General Use of the Mouse ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ To initiate an action with the mouse, position the mouse pointer at the appropriate place on the screen, and then press one of the buttons on the mouse (either the or ), as indicated by the mouse command assignments described later in this section. Depending on the desired action, you either "click," "press and hold," or "drag" the mouse, as follows: * To click a mouse button, press and immediately release the button. For certain commands, you execute the command one time only by clicking the mouse button. For some commands, you must click the indicated mouse button two or three times, as instructed for that command. For multiple clicks, the mouse pointer must remain at the same location while the button is repeatedly clicked the specified number of times. * To press and hold a mouse button, press and hold the button for a period of time before releasing it. The amount of time that the button must be held is determined by the configuration option "Mouse hold time". (Refer to the "Advanced Options" section of Chapter 2.) For commands that are invoked by clicking a mouse button, a command can be executed multiple times by pressing and holding the button. The command is executed repeatedly until the mouse button is released. The value assigned to the configuration option "Mouse repeat-delay factor" determines the number of times that a command is repeated while the button is held. (Refer to the "Advanced Options" section of Chapter 2.) * To drag the mouse, press the indicated mouse button, and continue to hold down the button as you drag the mouse pointer to another location on the screen. Do not release the button until the mouse pointer is positioned at the desired location. The action caused by the mouse is determined by the location of the mouse pointer when a mouse button is pressed: * On the StatusLine, clicking the displays the main pull-down menu. * Within menus, prompts, and pick lists, clicking the is the same as pressing , and clicking the is the same a pressing . For entries in menus and pick lists, the position of the mouse pointer determines the entry that is selected when you click the . * Within the text portion of a window, various operations with the are used to position the editing cursor or to mark a Block. (A few of the Block-marking commands are executed by pressing the in combination with the or keys on the keyboard.) * Anywhere in a window while in editing mode (when no menus, prompts, or pick lists are active), clicking the pops up a special Mouse Menu of Block-related commands. * In a window border, the is used to scroll the text, or to create, resize, or switch windows. The special mouse symbols and scrollbars ("hot spots") in the window borders are used to execute specific scrolling or window commands. Using the Pull-Down Menus ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ To execute a command or set an option from the pull-down menus using the mouse, you can follow these steps: * Display the main pull-down menu by placing the mouse pointer on the StatusLine and clicking the . * Select a sub-menu item from the menu by placing the mouse pointer on the item and clicking the . * Select a command or option from a sub-menu by placing the mouse pointer on the desired item and clicking the . To exit from the pull-down menus, click the until the main menu is removed from the screen, or move the mouse pointer outside the menu area and click the . Positioning the Cursor and Scrolling Text ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ You can use the mouse to position the cursor or scroll text on the screen, as described by the following. Note that the special symbols,    , and the horizontal and vertical elevators along the scrollbars are used for scrolling. * To position the editing cursor: Place the mouse pointer in the text of the current window where you want the cursor to be positioned, and click the . * To scroll down in the file, by line: Place the mouse pointer on the  symbol. To scroll down one line, click the . To repeat scrolling, press and hold the ; scrolling continues until the button is released, or the end of the file is reached. * To scroll up in the file, by line: Place the mouse pointer on the  symbol. To scroll up one line, click the . To repeat scrolling, press and hold the ; scrolling continues until the button is released, or the beginning of the file is reached. * To scroll left in the text, by column: Place the mouse pointer on the  symbol. To scroll left one column, click the . To repeat scrolling, press and hold the ; scrolling continues until the button is released, or column 1 is reached. * To scroll right in the text, by column: Place the mouse pointer on the  symbol. To scroll right one column, click the . To repeat scrolling, press and hold the ; scrolling continues until the button is released, or the maximum line length is reached. * To scroll down in the file, by page: Place the mouse pointer on the scrollbar below the vertical elevator (Û), within the vertical elevator shaft. To scroll down one page, click the . To repeat scrolling, press and hold the , keeping the mouse pointer below the elevator; scrolling continues until the button is released, or the elevator joins the mouse pointer, or the end of the file is reached. * To scroll up in the file, by page: Place the mouse pointer on the scrollbar above the vertical elevator (Û), within the vertical elevator shaft. To scroll up one page, click the . To repeat scrolling, press and hold the , keeping the mouse pointer above the elevator; scrolling continues until the button is released, or the elevator joins the mouse pointer, or the beginning of the file is reached. * To scroll left in the text, by TabWidth: Place the mouse pointer on the scrollbar to the left of the horizontal elevator (Û), within the horizontal elevator shaft. To scroll left by one TabWidth, click the . To repeat scrolling, press and hold the , keeping the mouse pointer to the left of the elevator; scrolling continues until the button is released, or the elevator joins the mouse pointer, or column 1 is reached. * To scroll right in the text, by TabWidth: Place the mouse pointer on the scrollbar to the right of the horizontal elevator (Û), within the horizontal elevator shaft. To scroll right by one TabWidth, click the . To repeat scrolling, press and hold the , keeping the mouse pointer to the right of the elevator; scrolling continues until the button is released, or the elevator joins the mouse pointer, or the maximum line length is reached. Marking a Block ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The following describes how to use the mouse to mark a Block of text. * To mark a single line: Place the mouse pointer on the line to be marked. Click the three times (without moving the mouse pointer). * To mark multiple lines: Place the mouse pointer on the beginning line to be marked. Press and hold (on the keyboard) and the . Then drag the mouse to the desired ending line, and release and the . * To mark a stream of characters: Place the mouse pointer on the beginning character to be marked. Press and hold the . Then drag the mouse to the desired ending character, and release the . * To mark a column: Place the mouse pointer on the beginning character to be marked. Press and hold (on the keyboard) and the . Then drag the mouse to the desired ending position, and release and the . * To mark a word: Place the mouse pointer on a character in the word to be marked. Click the twice (without moving the mouse pointer). When the ending position for a Block is not displayed on the screen, you can scroll the text in the necessary direction by dragging the mouse pointer outside the current window on the appropriate side. Then drag the mouse pointer back inside the current window to stop scrolling and continue marking. Note: To drag the mouse pointer outside a window, there must be a border, other editing window, or StatusLine onto which to move the mouse pointer; otherwise, the file cannot be scrolled in that direction. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ To unmark a Block using the mouse, place the mouse pointer ³ ³ on a blank character on the screen and click the ³ ³ twice. The editor attempts to mark a word at that ³ ³ location. Because the blank character is not a word, the ³ ³ editor fails to mark a Block, though it succeeds in first ³ ³ unmarking the existing Block. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Using the Pop-Up Mouse Menu ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ A special Mouse Menu allows you to use the mouse to easily display a menu of Block-related commands. To pop-up the Mouse Menu with the mouse while in editing mode, click the (with no menus, prompts, or pick lists active). You can then select one of the displayed Block-related commands by placing the mouse pointer on the desired item and clicking the . To remove the Mouse Menu, click the until the Mouse Menu is removed from the screen, or move the mouse pointer off the Mouse Menu and click the . Working with Windows ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This section describes how to use the mouse to create, switch, resize, and close windows. * To open a horizontal window: Place the mouse pointer on the left border of the window to be split and click the twice. * To switch to another window: Place the mouse pointer in the desired window, and click the . To switch to another window and also position the editing cursor at the mouse position in that window, press and momentarily hold the . * To resize a window: Place the mouse pointer on the StatusLine of the window to be resized. (Note that you cannot resize a window using a StatusLine located at the very top or very bottom of the screen.) Press and hold the , so that a resizing bar appears. Then drag the resizing bar to the desired location and release the . * To zoom a window: Place the mouse pointer on the [] symbol in the StatusLine of the window to be zoomed, and click the . While the window is zoomed, the [] symbol is replaced by the [] symbol. * To "unzoom" a window: Place the mouse pointer on the [] symbol and click the . Summary of Mouse Operations ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Mouse Pointer Block Marking Mouse Button Location ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Word Click 2 times Word in any window Single line Click 3 times Text in any window Multiple lines Drag Text in any window Column Drag Text in any window Characters Drag Text in any window ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Cursor Movement and Scrolling Mouse Button Mouse Pointer Location ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Position cursor Click Text in current window Scroll down: 1 line Click  symbol multi lines Hold  symbol 1 page Click Scrollbar below vertical Û multi pages Hold Scrollbar below vertical Û Scroll up: 1 line Click  symbol multi lines Hold  symbol 1 page Click Scrollbar above vertical Û multi pages Hold Scrollbar above vertical Û Scroll left: 1 column Click  symbol multi columns Hold  symbol 1 TabWidth Click Scrollbar left of horiz. Û multi TabWidths Hold Scrollbar left of horiz. Û Scroll right: 1 column Click  symbol multi columns Hold  symbol 1 TabWidth Click Scrollbar right of horiz. Û multi TabWidths Hold Scrollbar right of horiz. Û ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Menus, Prompts Mouse Pointer and Pick Lists Mouse Button Location ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Pull down Main Menu Click StatusLine Pop up Mouse Menu Click Anywhere on screen Select from Menu Click Menu / Pick List item or Pick List Accept StatusLine Click Anywhere in Prompt or Prompt entry Exit Menu Click Anywhere on screen OR Click Outside Menu area Cancel/remove any Click Anywhere on screen Prompt or Pick List OR Click Outside Prompt or Pick List ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Mouse Pointer Windows Mouse Button Location ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Open Click 2 times Left window border Switch window Click New window Switch window and Hold Text of new window position cursor Resize Drag Window StatusLine Zoom Click [] symbol Unzoom Click [] symbol Close Click [þ] symbol FILES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Creating New Files ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ There are three different ways to create new files, ready for editing. 1. From the DOS command line, enter followed by one or more new filenames. Each filename must be separated by a space. For example, typing: q file1 b:file2 \dir1\file3 will create "file1" in the current directory, "file2" on disk drive B, and "file3" in the directory "dir1". ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ When specifying filenames, you may use full path ³ ³ designations if desired. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 2. From the DOS command line, type "Q ". The editor responds with the prompt: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ File(s) to edit: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter one or more new filenames, each separated by a space. 3. From within the editor, execute the EditFile command. The above prompt will appear. Again, you may enter one or more new filenames, each separated by a space. Loading Existing Files ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Loading existing files works exactly like creating new files (in the previous section) with two exceptions: * The filename(s) specified must exist on disk. * The filename(s) may contain wildcard characters (*, ?). You can configure the editor to respond to wildcarded filename entries in one of two ways: 1. To load all matching files into the editor. 2. To show all the matching filenames in a "pick" listing. You can then use the cursor keys to find the file you want and press to load it into the editor. You can also configure the editor to use default file extensions, such as "doc" and "pas" when entering filenames. For more information on configuring these options, refer to the "General Options" section of Chapter 2. In the default configuration of the editor, a handy macro for loading a file has been assigned to . This macro will take the filename at the current cursor position in the text, and load that file into the editor. For example, if you have the following text in a program source file: #include "d:\tsejr\src\local.h" you could position the cursor anywhere within the specified path and filename, and press . The editor would then load that file and make it the current file. Locating a File on Disk ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The LocateFile command in the editor allows you to easily locate a file when you do not remember the directory in which that file resides, or you do not recall the exact name of the file. * LocateFile This command searches an entire drive for a specified filename. A list of all matching filenames is displayed, allowing you to select an appropriate file to edit. When you execute this command, it prompts you for the filename for which to search. A complete name or an ambiguous name (with DOS wildcard characters) can be specified. By default, the current drive is searched. However, a different drive can be searched by prefacing the filename with the drive name (such as, d:foo). The default or specified drive is then searched, and all matching filenames are displayed in a pick list. To select the desired file to edit, position the cursor bar on that filename in the pick list, and press . To remove the pick list (and terminate the command), press . If you assign LocateFile to a key, you can execute this command within any "File(s) to edit:" prompt (such as displayed by the EditFile command). Changing the Current Directory from within the Editor ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor's DirTree command provides a very helpful visual means for changing your current directory from within the editor. * DirTree This command displays a pick list of all the drives on your system, along with a directory tree for the current drive. The current drive or directory can be changed from this pick list. Assuming your current drive is the D: drive, and you also have A:, B:, C:, and E: drives available on your system, following is an example of what the directory tree pick list might look like when you execute this command: ÚÄÄÄÄÄÄÄÄ Dir Tree ÄÄÄÄÄÄÄÄÄ¿ ³ A: ³ ³ B: ³ ³ C: ³ ³ D: ³ ³ ÃÄÄÄTSEJR ³ ³ ³ ÃÄÄÄMAC ³ ³±±±³±±±ÃÄÄÄDOC±±±±±±±±±±±±±³ ³ ³ ÀÄÄÄSPELL ³ ³ ³ ÃÄÄÄTEMP ³ ³ ³ ÀÄÄÄWORD ³ ³ ÀÄÄÄTSEPRO ³ ³ ÃÄÄÄDOC ³ ³ ÀÄÄÄMAC ³ ³ E: ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ To switch to a different directory, move the cursor bar to the desired entry in the tree, and press . To change to a different drive, move the cursor bar to the desired drive, and press . The selected drive becomes the current drive, and the directory tree for that drive is displayed in the pick list. To remove the directory tree pick list, press . Invoking the Editor at a Specific Line Number ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ A DOS command-line option (-n) allows you to specify a line number in a file on which to position the cursor when the file is loaded into the editor. From the DOS prompt type: q -n For example, to load file1 at line number 125, from the DOS command line you would enter: q file1 -n125 Or, if you prefer: q -n125 file1 Multiple Files: The Ring ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor allows as many files as will fit into memory to be loaded at the same time. All of these files can then be edited by simply switching back and forth between them without having to save and load each file individually. Switching between files is accomplished very quickly and easily. A simple explanation of how the editor handles multiple files will help you in manipulating and editing multiple files. All files that are loaded into the editor are maintained in a "ring". As we describe each of the commands used to manipulate the files in the ring, refer to the illustration below. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÚÄÄÄÄ¿ ÚÄÄÄÄ¿ ³ ³ ³ ³ ³±±±±³ ³ ³ ÚÄÄÄÄÄ> ³ A ³ <ÄÄij±B±±³ ³ ³ ³ ³ ³ ³±±±±³ ³ ³ ³ ³ ÀÄÄÄÄÙ ÀÄÄÄÄÙ ³ ³ ³ v ^ v ³ ³ ÚÄÄÄÄ¿ ³ ³ ÚÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ F ³ <ÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄ> ³ C ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÙ ³ ³ ÀÄÄÄÄÙ ³ ³ ^ v v ^ ³ ³ ³ ÚÄÄÄÄ¿ ÚÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ> ³ E ³ <ÄÄÄÄÄÄÄÄÄÄ > ³ D ³ <ÄÄÄÄÙ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÙ ÀÄÄÄÄÙ ³ ³ ³ ³ The "Ring" ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ In the ring we see that six files have been loaded into the editor. You can, of course, load many more files - as many as your computer's memory will allow. Assume the file currently being edited is file "B". You may then move from one file to another in any of the following ways: * Enter the NextFile command. You will now be editing the next file in the ring, file "C". * Enter the PrevFile command. You will now be editing the previous file in the ring, file "A". * Enter the EditFile command. The editor will prompt for a filename. You may enter the name of any file in the ring. The editor will make the entered file the current one for editing. * Enter the ListFiles command. You will be shown a scrollable list of all loaded files, from which you may select a different file to edit. You may, at any time, add files to the ring or discard files from the ring. If you add a new file to the ring using the EditFile command, it will become the current file and the old current file will become the previous file. If you delete a file from the ring the previous file will become the current file. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ When loading files, be aware that the editor will not load ³ ³ two copies of the same file. If you issue the EditFile ³ ³ command for a file already loaded, that file will become ³ ³ the new current file. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Saving Files and Exiting ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor provides several different ways to save files, discard files, and exit the editor. A set of five basic commands provides assorted combinations of saving, discarding, and exiting in order to suit individual preferences. We recommend selecting one or two methods with which you feel most comfortable and using them consistently. The table below summarizes these commands and their effects. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÄÄÄ¿ ³Command for Single ³ Command for Multiple ³ ³ ³ ³ ³ ³ ³File or Current File ³ Files ³ 1 ³ 2 ³ 3 ³ 4 ³ 5 ³ ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÄÄÄ´ ³Exit ³ GExit ³ ³ X ³ ³ X ³ X(a) ³ ³ ³ ³ ³ ³ ³ ³ ³ ³File ³ GFile ³ X ³ ³ ³ X ³ X(a) ³ ³ ³ ³ ³ ³ ³ ³ ³ ³PQuit ³ GPQuit ³ ³ ³ X ³ X ³ X(a) ³ ³ ³ ³ ³ ³ ³ ³ ³ ³Quit (b) ³ ³ ³ ³ ³ X ³ X ³ ³ ³ ³ ³ ³ ³ ³ ³ ³SaveFile ³ GSave ³ X ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÄÄÄÙ 1. Edited file(s) are saved unconditionally 2. User prompted to save edited files (Y/N) 3. User warned that file changes may be lost 4. File(s) are discarded from editor 5. The editor is terminated (a) The Exit, File, and PQuit commands can be configured to terminate or not terminate the editor. Refer to the "General Options" section of Chapter 2 for more information. (b) USE WITH CAUTION! Read-Only Files ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Read-Only files can be loaded and edited. However, they cannot be saved. When a Read-Only file is initially loaded, the message "File is READONLY" is displayed at the top of the screen. If you subsequently attempt to save a Read-Only file, the following message appears: ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºCannot save READONLY files - Press º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ To save a Read-Only file, simply save it under a different name using the WriteBlock command (be sure there are no marked Blocks in the file), or change the filename using the ChangeFilename command and then save the file under the new name. VIEWING AND GETTING AROUND IN THE TEXT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor is quite versatile in allowing you to move around in the text. With simple keystrokes you can either move a few characters or lines at a time or move from one end of the file to another. You can go to specific lines in the file or go to each occurrence of a particular string of characters. And with the editor's windows, you can view multiple files at a time or have multiple views of the same file. As you will see, there are quite a few commands available for moving around in your text. If you are not already familiar with these types of commands, try them out. You will probably find some new commands that will be useful when editing. Cursor Movement ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Moving Through a File The editor provides a number of commands to allow you to move about in a file. * BegFile , EndFile As their names imply, these commands move the cursor to the beginning or end of the current file. BegFile positions the cursor at column one on the first line of the file. EndFile positions the cursor after the last non-blank character on the last line of the file. If you are in the process of marking a Block using the MarkColumn command, the cursor column position does not change when you execute BegFile or EndFile. (This is true only while you have marked the beginning of a Block using MarkColumn, but have not marked the end of the Block.) * PageUp , PageDown PageUp scrolls the text toward the top of the file, one page-full, less one line, at a time. PageDown scrolls the text toward the end of the file, one page-full, less one line, at a time. * HalfPgUp and HalfPgDn These commands work exactly like the PageUp and PageDown commands, except that they scroll only one-half page at a time. * NextPara, PrevPara, EndPara These commands move the cursor to the start of the next, previous, or to the end of the current paragraph. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ All editor commands, including those without default key ³ ³ assignments, can be assigned as the user desires, to ³ ³ almost any key. Refer to the "Keyboard Configuration" ³ ³ section of Chapter 2 for more information. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * ScrollUp , LineUp These commands scroll the text one line at a time toward the beginning of the file. The ScrollUp command causes the cursor to remain on the same line of text until it reaches the bottom of the screen, while the LineUp command causes the cursor to remain stationary on the screen. * ScrollDown , LineDown These commands scroll the text one line at a time toward the end of the file. The ScrollDown command causes the cursor to remain on the same line of text until it reaches the top of the screen, while the LineDown command causes the cursor to remain stationary on the screen. * GotoLine Upon entering the GotoLine command, the editor prompts with: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Go to line: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Type a line number and press . The cursor then "jumps" to the specified line number. An easy way to move about quickly in your text is to keep track of critical positions by noting their line number, which is displayed on the StatusLine, and then using this command to "jump" to those positions. * GotoBlockBeg , GotoBlockEnd These commands move the cursor to the beginning or to the end of the currently marked Block. If the marked Block is in another file, the editor makes that file the current file and then moves you to the beginning or end of the Block. For more information on using marked Blocks, refer to the "Block Commands" section in this chapter. * PrevPosition This command can be very handy. It moves you to the cursor's previous position. Although it is not of much use if you have only moved a character or two, it can be useful for larger jumps of the cursor. For example, perhaps you are in the middle of a file and want to check something at the very beginning of the file. To go to the beginning, you would simply enter BegFile . After you look at the beginning, you want to go back to where you were previously. You could use PageDown, but that could be tedious, especially if your file is large. The easiest way would be to enter PrevPosition, and with a single keystroke, you are immediately back where you started. PrevPosition can only take you back to the cursor's immediately previous position. If there are intervening keystrokes that move the cursor, PrevPosition will move you back to the most recent location of the cursor. * NextEqualIndent, PrevEqualIndent These commands move the cursor to the next or previous line (as appropriate) whose text starts in the same column as the current line. If the current line is blank, the cursor moves to the next or previous blank line. Moving Around on the Screen These commands affect the cursor position within the current screen of displayed text. * BegScreen , EndScreen These commands move you to the first or last line of the screen (or current window if you have windows open). The cursor's column position does not change. * BegLine , EndLine You are probably already familiar with these commands. BegLine moves the cursor to the beginning, or column one, of the current cursor line. EndLine moves the cursor to the last non-blank character of the current cursor line. * FirstNonWhite This command is intended as a replacement for the BegLine command. It positions the cursor on the first non-white (space) character on the current line, or column 1 if the line is blank. An interesting variation is a command that toggles between the beginning of the line and the first non-white character on that line: home FirstNonWhite MacroQuitTrue BegLine Refer to the "Keyboard Configuration" section of Chapter 2 for more information on changing command assignments in the editor. * ScreenLeft , ScreenRight These commands scroll the entire text to the left or right one column at a time. You can change the number of columns which are shifted each time using the configuration program. Refer to the "Colors/Screen Options" section of Chapter 2 for more information. * WordLeft , WordRight These commands move the cursor to the first character of the previous or following word in the text. * MakeCtrofScreen , MakeTopofScreen , and MakeBotofScreen These three commands change the position of the cursor line on the screen (or window, if you have windows open). They can be useful if you prefer to work at the bottom or top of the screen or if you want to keep the text surrounding your cursor line in view. The MakeCtrofScreen command scrolls the text on the screen (either up or down) until the cursor line is the center line of the screen. The MakeTopofScreen command scrolls the text upward until the cursor line is the top line of the screen. The MakeBotofScreen command scrolls the text downward until the cursor line is the last line of the screen. Moving By Lines and Characters These commands enable you to move in short increments through the text. * CursorLeft , CursorRight These commands move the cursor one column to the right or left on the cursor line. When you use CursorLeft, the cursor stops when it reaches the left edge of the screen, unless the text has been scrolled to the left. In that case it scrolls the text to the right one column at a time until it reaches column one. When you use CursorRight and the cursor reaches the right edge of the screen, it begins to scroll the text to the left. It stops scrolling when it reaches the maximum line length. If you prefer that cursor left/right would wrap at the beginning and end of lines, you can assign the following macros in your QCONFIG.DAT file in lieu of cursor left/right, respectively: * Left and Right cursor definitions that wrap to previous/next line * like WordStar does cursorleft CursorLeft * try to go left MacroQuitTrue * succeed! then we are done CursorUp * else try to go to prev line MacroQuitFalse * if fail, then at top of file. done. EndLine * jump to end of previous line. cursorright isEndLine * are we at end of line? JTrue down: * if so, go to down CursorRight * else right one MacroQuit * Quit macro down: CursorDown * try to go to next line MacroQuitFalse * if not, go to end BegLine * else go to beginning of line Refer to the "Keyboard Configuration" section of Chapter 2 for more information on changing key/command assignments. * CursorUp , CursorDown These commands move the cursor up or down in the file one line at a time. The cursor's column position does not change. * GotoColumn Upon entering the GotoColumn command, the editor prompts with: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Go to column: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Type a column number and press . The cursor then moves to the specified column number. Using Windows ÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor provides the ability to view different areas of files (either multiple files or the same file) at the same time, through the use of windows. A window is a portion of the screen that allows you to view text. You can divide your screen into as many as eight horizontal windows. You can then view as many as eight different files through these windows or have multiple views of a single file. This capability can be quite helpful for comparing text, copying text, and moving text. An example of a screen split into three windows is shown below. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ L 1 C 1 IAW 411K *c:\file1 ³ ³ ³ ³ This window is a view of file number 1 at line number 1. ³ ³ This file is being edited with Insert, AutoIndent, and ³ ³ WordWrap modes all ON. This file has been updated. ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ L 483 C 12 IAW 411K *c:\file1 ³ ³ ³ ³ This window is a view of file number 1 at line number 483. ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ L 15 C 14 I 411K c:\file2 ³ ³ Ü ³ ³ This window is a view of file number 2. ³ ³ This file is being edited with Insert mode ON, while ³ ³ AutoIndent and WordWrap modes are OFF. This file has not ³ ³ been updated. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Creating Windows To create a window, use the HorizontalWindow command. The screen will be split into two halves, or windows, each window having its own StatusLine. The cursor will reside in the newly created window, making it the current window. If only one file is being edited, the newly created window will simply be an additional view of the same file. The editor will not load more than one copy of the same file. If multiple files are being edited, the newly created window will be a view of the next file in the ring. (Refer to the "Multiple Files" section in this chapter.) If desired, you can configure the editor to prompt for the name of the file to be viewed in the new window instead of the editor automatically selecting the next file in the ring. Refer to the "General Options" section of Chapter 2 for more information. Once the screen has been split into windows, entering the HorizontalWindow command again will affect the current window. All other windows will remain unchanged. Switching Windows When multiple windows are opened, editing will take place only in the current window (the window containing the cursor). For editing text in other windows, two commands are provided to switch from one window to another. * PrevWindow This command moves the cursor to the window above the current window. If the current window is at the top of the screen, the cursor moves to the last window on the screen. * NextWindow This command moves the cursor to the window below the current window. If the current window is at the bottom of the screen, the cursor moves to the first window on the screen. Changing Window Size You can change the size of any window on the screen with the commands below. * GrowWindow , ShrinkWindow , ResizeWindow These commands allow you to change the size of the current window. Upon entering any of these commands, you are prompted to change the size of the window by using the cursor up and cursor down keys. * ZoomWindow This command causes the current window to fill the entire screen, as all other windows disappear. To restore the screen with all windows, simply press again. Be careful not to confuse this command with the OneWindow command (see below). OneWindow fills the screen with the current window (like ZoomWindow does), but it also closes all windows except the current one. ZoomWindow leaves the other windows intact, even though they are hidden from view. * MaximizeWindow This command causes the current window to be made as large as possible, by making all other windows as small as possible. Closing Windows There are two commands to close windows. * CloseWindow This command closes the current window. The current window disappears and the cursor is placed in the window above the closed window, making it the new current window. When the closed window is at the top of the screen, the window below it becomes the new current window. * OneWindow This command closes all windows except the current window. The current window then fills the entire screen. Note that closing a window does not discard files from the editor. Synchronized Scrolling in Windows You can scroll simultaneously through multiple windows by setting Synchronized Scrolling mode ON. This causes cursor movement and scrolling activity in the current window to also occur in each of the non-current windows. * ToggleSyncScroll This command switches Synchronized Scrolling mode ON and OFF. When this mode is ON, the editor attempts to synchronize logical cursor movement, as well as scrolling, in all windows, based on cursor movement and scrolling activity in the current window. However, the logical cursor position and size of non-current windows may affect scrolling that occurs when the cursor reaches a window edge. Under certain conditions, movement of the cursor may cause scrolling to occur in some non-current windows before it begins in the current window. When Synchronized Scrolling mode is ON, an "S" appears on the StatusLine. FINDING AND REPLACING TEXT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Finding Text ÄÄÄÄÄÄÄÄÄÄÄÄ * Find This command searches for a specific string of characters in the file. Upon entering the Find command, the editor prompts for the string of characters for which to search. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Search for: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter the desired string of characters and press . The editor then prompts for the search options to use. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Options [BGLIW] (Back Global Local Ignore-case Whole-words): ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter the letter(s) corresponding to the option(s) you want and press . The available options are: [B] = Search backward from the current cursor position. When you choose "B", the editor searches backward from the cursor position toward the beginning of the file. Otherwise, it searches from the cursor position toward the end of the file. [G] = Global search. Begins searching from the beginning of the file, or from the beginning of the marked Block if the [L] option is also selected. [L] = Local search. Limits the search to the currently marked Block. If the cursor is outside the marked Block, or the [G] option is also selected, the search starts at the beginning of the marked Block. Otherwise, the search starts at the current cursor position inside the marked Block. [I] = Ignore the case (capital or lowercase) of the search string. For example, "Hello" would match "hello" if this option is chosen. This option is set ON by default. [W] = Search for whole words only. For example, when this option is chosen, the word "sent" matches only the actual word "sent". Otherwise, any other words that contain the string (such as "sentence" or "absent") would also match. [^] = Anchor the search string to the beginning of the line (or Block). The search operation attempts to locate a matching string that begins in column 1 of a line; or, if the [L] option is also selected, it attempts to locate a matching string that begins in the first column of the Block. [$] = Anchor the search string to the end of the line (or Block). The search operation attempts to locate a matching string that ends on the last character of a line; or, if the [L] option is also selected, it attempts to locate a matching string that ends on the last character in the Block (or that ends on the last character of a line, if the line ends in the Block). Once the Find command is executed, the cursor is placed at the first occurrence of the search string found in the text. To locate subsequent occurrences of the search string, simply enter the RepeatFind command (described below). If you want to search for a string and replace it with another string, refer to the "Replacing Text" section in this chapter. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ The placement of the found text is configurable. It can ³ ³ either be placed on the same relative row on which the ³ ³ cursor line initially started, or centered. Refer to the ³ ³ ToggleCenterFinds command in Chapter 3, and to the option ³ ³ "Should Find and RepeatFind center the found text" in the ³ ³ "General Options" section of Chapter 2. On the menus, ³ ³ press . ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * RepeatFind This command reissues the last search command that was executed; that is, the last Find, FindReplace, or IncrementalSearch command. It begins searching one position beyond the current cursor position if a forward search had previously been performed, or one position before the current cursor position if a backward search had previously been performed. All search or replace options, other than [G] (Global), that were in effect for the previous execution of the operation, are in effect for RepeatFind. * IncrementalSearch This is a specialized search command. It causes the editor to begin searching for a string while you type. As you enter each new character, the editor attempts to locate a string in the text that matches the incremented search string. If you type a character that would expand the search string to a string that cannot be matched in the text, that character is not added to the search string. When you execute IncrementalSearch, the editor displays the following prompt on the StatusLine: I-Search (^N=Next ^P=Prev ^B=Beginning): Enter the string to be located. The cursor remains in the IncrementalSearch prompt until you terminate the operation by pressing or . As you type characters, a case-insensitive, forward search is performed, beginning at the text position where the cursor was located when you invoked IncrementalSearch. As each matching string is found, the string is highlighted in the text. When a search character is entered that does not match the next character of the currently-located text, the editor searches forward and moves to the first occurrence that does match the newly-expanded search string. If a match including that character cannot be located, the character is rejected and the currently-located text remains highlighted. Within the IncrementalSearch prompt, you can use the following keys to perform the operations indicated: Deletes the last character typed within the IncrementalSearch prompt. The editor re-locates the previously-highlighted string. Searches forward for the next occurrence of the current IncrementalSearch string. Searches backward for the previous occurrence of the current IncrementalSearch string. Searches forward from the beginning of the file for the first occurrence of the current IncrementalSearch string. * Match This is a specialized search command. It acts only on the characters ( ), { }, [ ], and < >. With the cursor placed on one of these characters, enter the Match command. The editor locates the logical matching character of the pair. This command can be useful for programming in languages where complicated expressions are grouped using these characters. In the default configuration of the editor, a useful macro for locating text has been assigned to . This macro will take the word at the current cursor position in the text, and execute the Find command on that word. It searches for the next occurrence of the word, using the "Default Find options" (as described under "General Options" in Chapter 2, "Customizing the Editor"). When located, the cursor is placed in the text on the first character of the word and the word is highlighted. If the cursor is not located on a word when you execute this macro, the editor executes the Find command itself, and displays the standard Find prompt. Replacing Text ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor provides the ability to search for specific strings of characters throughout your text and then replace all, some, or none of them with another string of characters. (If you want to search for strings of characters without replacing them, use the Find command.) * FindReplace This command searches for a specific string of characters in the current file, and optionally replaces it with another string of characters. Upon entering the FindReplace command, the editor prompts for the string of characters for which to search. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Search for: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter the desired string of characters and press . The editor then prompts for a new string of characters (to replace the old string). ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Replace with: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter the new string of characters and press . The editor then prompts for the search options you wish to use. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Options [BGLIWN] (Back Global Local Ignore-case Whole-words ³ ³No-prompting): ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter the letter(s) corresponding to the option(s) you want and press . The available search options are the same as those described in the previous section ("Finding Text") for the Find command, as well as the following additional replace options: [N] = Find and replace with NO prompting. If you choose "N", the editor finds and replaces every occurrence of the search string, without asking you if you want to replace each individual occurrence. [#] = Replace the indicated number of times (where "#" is an actual number). If you specify a number, the editor finds and replaces the next "#" number of occurrences of the search string, without asking you if you want to replace each occurrence. For example, if you enter "8", the next eight occurrences of the string are automatically replaced. If you select the [N] or [#] option, the editor finds and replaces every occurrence of the search string with no further user intervention. If you DO NOT select the [N] or [#] option, the editor prompts at every occurrence of the search string with: Replace (Yes/No/Only/Rest/Quit): Valid responses are: es - Replace the search string with the new string and continue to the next occurrence. o - Do not replace the search string, but continue to the next occurrence. nly - Replace the search string with the new string and quit. est - Replace the search string with the new string and replace the rest of the occurrences with no further prompts. uit - Cancel the FindReplace process. You can press to halt a global FindReplace. The RepeatFind command reissues the previous search command (including FindReplace). Refer to RepeatFind in the previous section, "Finding Text". COPYING, MOVING, CHANGING, AND DELETING TEXT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Block Commands ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ In this section, we will see how to mark and manipulate Blocks. A Block is some portion of the text file which has been specifically delineated using the Block-marking commands. We will see how to manipulate Blocks both directly and through the use of intermediate storage areas known as buffers. The editor contains a rich set of Block commands. There are commands to mark Blocks by lines, columns, and characters. There are commands to copy, move, shift, and delete Blocks. These commands are very useful for transferring text from one file to another. There are also cut-and-paste commands, as well as commands to move Blocks to and from named Scratch Buffers. Marking and Unmarking a Block Before you can manipulate a Block, you must first "mark" the Block, either by characters, lines, or columns. The type of Block that you mark will depend on the editing situation and what you find most comfortable. * MarkLine This command allows you to mark a Block in whole line increments. In other words, the Block will contain complete lines only and no portions of lines. To use this command place the cursor anywhere on the first line of the text you wish to mark and press . (Notice that the line is immediately marked.) Now, move the cursor (the Block will "follow" the cursor) to the last line of text to be marked and press again. You now have a marked Block, ready for manipulation. * DropAnchor This command allows you to mark a Block one character at a time. In other words, the Block will contain a stream of characters (which can span over multiple lines). To use this command place the cursor over the first character of the text you wish to mark and press . Then begin moving the cursor toward the end of the text to be marked. Notice that the Block "follows" the cursor position. Once the cursor is placed over the last character to be marked, press again. You now have a marked Block, ready for manipulation. * MarkCharacter This command works just like DropAnchor except that while marking the Block, the cursor is not included within the Block. MarkCharacter is provided as a replacement for the DropAnchor command. If you want the cursor position included in character Blocks, then continue to use DropAnchor; otherwise, replace the DropAnchor command with this command in the QCONFIG.DAT file. Refer to the "Keyboard Configuration" section of Chapter 2 for more information on changing key/command assignments. The MarkCharacter command can also be used to provide CUA-style Block marking, using the shifted cursor keys. Refer to the following section, "CUA-Style Block Marking." * MarkColumn This command allows you to mark one or more columns of text. To use this command place the cursor over the upper left-hand character of the text you wish to mark and press . Then begin moving the cursor to the right and/or downward. Notice that the Block "follows" the cursor position. Once the cursor is placed over the lower right-hand character of the Block, press again. You now have a marked Block, ready for manipulation. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ When using the MarkLine, MarkCharacter, MarkColumn, and ³ ³ DropAnchor commands, it is not necessary to mark the end ³ ³ of the Block. The editor assumes the end of the Block to ³ ³ be the current cursor position for MarkCharacter, ³ ³ MarkColumn, and DropAnchor, and to be the current cursor ³ ³ line for MarkLine. Marking the end of the Block is only ³ ³ necessary when moving or copying text within the same ³ ³ file. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * MarkWord This command allows you to mark the current word. To use this command, place the cursor anywhere in the word you wish to mark and press . The entire word is immediately marked. If there is no word at the current cursor position, then no action is taken. * MarkBlockBegin , MarkBlockEnd This is another method of marking a Block one character at a time. To mark a Block with this command, place the cursor over the first character of the text you wish to mark and press . Then position the cursor one character past the end of the text that is to be marked and press . The Block is now marked and ready for manipulation. * UnmarkBlock Entering the UnmarkBlock command causes the currently marked Block to be unmarked. The editor allows you to mark one Block at a time. If you mark a Block and then go elsewhere in the file and attempt to mark another Block, the editor will simply extend the first Block by including all the text between the original Block and the current cursor position. If you mark a Block in one file and then go to another file and mark a Block, the Block in the first file will automatically be unmarked. Also, if you mix types of Block marking (for example, by entering MarkLine followed by DropAnchor), the editor will mark the Block according to the last command entered. CUA-Style Block Marking The editor allows you to use the following CUA-style shifted cursor keys for marking character Blocks. These pre-defined keys use the MarkCharacter command to create Blocks that do not include the cursor within the Block. CUA-style Key Block-marking Operation ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Mark/extend Block and move left one character Mark/extend Block and move right one character Mark/extend Block and move up one line Mark/extend Block and move down one line Mark/extend Block and move to beginning of line Mark/extend Block and move to end of line Mark/extend Block and move up one page Mark/extend Block and move down one page To select the CUA-style Block-marking keys, you must set CUA-Style Block Marking mode ON. (You can do this by setting the configuration option "Use CUA-style (shift cursor) block marking" to . Refer to the "Advanced Options" section of Chapter 2. You can also switch this mode ON and OFF using the ToggleCUAMarking command.) These CUA-style keys will then override any command assignments made to the same keys in QCONFIG.DAT. In addition to the CUA-style Block marking keys, you may want to configure the editor to assign the following CUA-style keys to the indicated Block commands: CUA-style Key Block Command / Operation ÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Paste / paste contents of Scrap Buffer at cursor position Cut / cut marked Block to Scrap Buffer Copy / copy marked Block to Scrap Buffer DeleteBlock / delete marked Block For these CUA-style Block command key assignments to be effective, they must be assigned in QCONFIG.DAT and burned into the editor. Unlike the CUA-style Block-marking keys, setting ON CUA-Style Block Marking mode does NOT automatically make these Block-command keys effective. The following paragraphs describe certain effects of CUA-Style Block Marking mode. If the key is released during marking, it must be pressed again, before any other key is pressed, in order to continue marking. If you press any key that is not a CUA-style marking keys (or that is not one of the related CUA-style Block command keys, as described above), the current Block will be unmarked. You can override this "unmarking" behavior by setting the configuration option "Should blocks remain marked after CUA marking" to . Then a marked Block will remain marked until you unmark it, or until you execute a command, such as Cut, that unmarks the Block after its operation. (Refer to the "Advanced Options" section of Chapter 2 for information on setting this option.) Once a "persistent" Block is marked, you can extend the Block by placing the cursor at either the beginning or ending position of the Block, and then pressing one of the CUA-style Block-marking keys. If you press one of the CUA-style marking keys with the cursor at any other position in the file, the current Block will be unmarked, and a new Block will be started at the cursor position. Manipulating Blocks Directly There a several ways to manipulate a marked Block in the editor. The following commands act directly on a marked Block. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ When Copying or Moving Blocks: ³ ³ ³ ³ Blocks marked using the DropAnchor, MarkCharacter, ³ ³ MarkColumn, and MarkBlockBegin/End commands will always be ³ ³ inserted beginning at the current cursor position. ³ ³ ³ ³ Blocks marked using the MarkLine command will be inserted ³ ³ at either the line before or the line after the current ³ ³ cursor line. Refer to the "General Options" section of ³ ³ Chapter 2 for more information. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * CopyBlock This command makes a copy of the marked Block and inserts it where you indicate. You can insert this copy of the Block at some other place in the same file or in another file. The original Block of text, from which you made the copy, is not affected. To use this command, first mark the Block as described above. Next, move the cursor to the position in the file where you wish to insert the marked text. (Or, if you have multiple files loaded and wish to copy text from one file to another, use the NextFile, PrevFile or EditFile commands to get a new current file and likewise position the cursor.) Now enter the CopyBlock command. The Block will be inserted at the new position. You may notice, after you use CopyBlock, that the newly inserted Block of text is now marked and the original Block is unmarked. To unmark the copied Block, enter the UnmarkBlock command. For an easy method to copy the same Block repeatedly, refer to the Copy and Paste commands in the following section. * CopyOverBlock This command is for use with column Blocks only. It works just like CopyBlock except the Block is copied to the current cursor position by overlaying existing text and without shifting text to the right. * MoveBlock This command works exactly like CopyBlock with one exception: upon entering the MoveBlock command, the originally marked Block is deleted from the file. As with the CopyBlock command, you can move a Block to another part of the same file or from one file to another. For an easy method to delete a Block from its original position and inserting it repeatedly at other positions, refer to the Cut and Paste commands in the following section. * DeleteBlock This command simply deletes a marked Block of text from the file. To use this command, first mark a Block of text to be deleted, then enter the DeleteBlock command. The marked text will be deleted from the file. (Deleted Blocks will be placed in the Kill buffer. Refer to "The Kill Buffer - A Safety Net" section in this chapter for more information.) * ShiftLeft , ShiftRight These commands allow the User to shift text contained in a Block to the left or right. To use these commands, first mark a Block. Now enter ShiftLeft or ShiftRight. The entire marked Block of text will be shifted one column to the left or right respectively. If there is no marked Block of text or the cursor is outside of the marked Block, the current cursor line will be shifted. This command is very useful for changing indentation for portions of text or source code. * FillBlock This command allows you to fill a marked Block with a single character. Manipulating Blocks Using Scrap Buffers The editor provides an extremely helpful device for quickly manipulating Blocks of text. This device consists of a Scrap Buffer and several commands which act on the Scrap Buffer. The Scrap Buffer is a temporary holding area for marked Blocks of text. The commands Cut, Copy, Paste, and PasteOver are used solely for placing text into the Scrap Buffer and copying text from the Scrap Buffer. When you issue a Copy or Cut command (discussed in the following section), the marked Block is placed into the Scrap Buffer. The next time you Copy or Cut a Block into the Scrap Buffer, the previous contents of the Scrap Buffer are deleted and replaced with the new Block. You can repeatedly use the Paste and PasteOver commands as many times as needed to insert a copy of the Block held in the Scrap Buffer at multiple positions in your file or files. The Paste and PasteOver commands do not purge the contents of the Scrap Buffer. * Copy and Paste / PasteOver To copy a section of text from its present position and insert it somewhere else: 1. Mark the text using the Block marking commands. 2. Enter Copy . This places a copy of the marked text into the Scrap Buffer. 3. If you want to insert the text somewhere else within the same file, use the cursor movement commands to place the cursor where you wish to insert the text. 4. If you want to insert the text in another file, switch to that file using the NextFile, PrevFile, or EditFile command to access that file. Then place the cursor at the desired position. 5. Enter Paste to insert the text. If you have copied a column Block into the Scrap Buffer and wish to insert it by overlaying existing text then use PasteOver instead of Paste. Since Paste and PasteOver leave the contents of the Scrap Buffer intact, you can make multiple insertions in the same or different files. Simply move the cursor to the file and position where you wish to make additional insertions and enter Paste or PasteOver . Please note that the next time you issue a Cut or Copy command, the previous contents of the Scrap Buffer will be discarded. * Cut and Paste / PasteOver Cut and Paste/PasteOver work exactly like Copy and Paste/PasteOver except that Cut will delete the marked Block from the file. You can still make multiple insertions of the text using the Paste or PasteOver Commands. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ The editor can be configured to have the Cut and Copy ³ ³ commands act on the current cursor line if no Block is ³ ³ marked. Refer to the "Advanced Options" section of ³ ³ Chapter 2 for more information. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Manipulating Blocks Using Scratch Buffers A Scratch Buffer is a special type of buffer to which you assign a name. The editor allows you to create and name up to 99 Scratch Buffers for each editing session. These can be useful if you have several different Blocks of text that you want to insert in multiple locations. The commands StoreScrBuff , AppendScrBuff , and GetScrBuff are used to place text in, and retrieve text from, a Scratch Buffer. Whenever you issue one of these commands, the editor will ask you for the name of the Scratch Buffer. If you want to use an already created scratch buffer, and do not remember the name, just press on an empty prompt (press the DelLine key to quickly remove any text in a prompt) and a list of existing Scratch Buffers will be shown, allowing you to select the appropriate one. Finally, you can remove a Scratch Buffer, if it is no longer needed, with the DelScratchBuff command. The contents of all Scratch Buffers are discarded when the editor is terminated. * StoreScrBuff , AppendScrBuff To place a Block of text into a named buffer: 1. Mark the Block. 2. If you want to create a new Scratch Buffer containing the marked Block, execute StoreScrBuff . (This command is also used if you wish to replace the current contents of a Scratch Buffer with the marked Block.) If you want to append the marked Block to the current contents of the Scratch Buffer, execute AppendScrBuff . 3. The editor prompts for the name of the Scratch Buffer. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Store (Append) to buffer: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 4. Enter a name. It is best to use a name which reflects the contents of the buffer and is easily remembered. Or press to get a list of existing Scratch Buffers, if you cannot remember the name and want to use an existing Buffer. The Block is now stored in a Scratch Buffer under the assigned name. * GetScrBuff To retrieve the contents of a named Scratch Buffer and insert it at the current cursor position: 1. Position the cursor where you wish the contents of the named Scratch Buffer to be inserted. 2. Enter GetScrBuff . The editor prompts for the name of the Scratch Buffer to be retrieved. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Get from buffer: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 3. Enter the name of the desired Scratch Buffer, or press to choose from a list of existing Scratch Buffers. 4. Repeat the above steps whenever you want to insert the contents of a Scratch Buffer into your text. Accessing the Microsoft Windows Clipboard The following handy commands allow you to copy or paste text between the current file and the Microsoft Windows Clipboard. * WinClipCopy This command makes a copy of the marked Block and inserts it directly into the Microsoft Windows Clipboard. * WinClipPaste This command inserts a copy of the contents of the Microsoft Windows Clipboard directly into the current file at the cursor position. Note that the OS/2 version of the editor allows you to access the OS/2 Clipboard. Examples of Block Commands This section contains examples of commonly used Block Commands. * Copying or moving a Block within the same file. 1. Position the cursor at the beginning of the Block to be copied or moved. 2. Enter DropAnchor to mark a stream of characters, or MarkLine to mark whole lines, or MarkColumn to mark a column of text. 3. Position the cursor at the end of the Block to be copied or moved. 4. Enter DropAnchor, MarkLine, or MarkColumn again to mark the end of the Block. 5. Move the cursor to the location where you want to insert the marked Block. 6. Enter CopyBlock , CopyOverBlock (column Blocks only), or MoveBlock . 7. Enter UnmarkBlock to unmark the Block. The Block has now been copied or moved. * Copying or moving a Block to another file. 1. Position the cursor at the beginning of the Block to be copied or moved. 2. Enter DropAnchor to mark a stream of characters, or MarkLine to mark whole lines, or MarkColumn to mark a column of text. 3. Position the cursor at the end of the Block to be copied or moved. 4. Switch to the "target" file using the file commands EditFile, NextFile, or PrevFile. 5. Move the cursor to the location in the file where you want to insert the marked Block. 6. Enter CopyBlock , CopyOverBlock (column Blocks only), or MoveBlock . 7. Enter UnmarkBlock to unmark the Block. The Block has now been copied or moved. * Copying or moving a Block for multiple insertions in the same file. If you want to insert the same Block at several positions within a file, follow these steps: 1. Position the cursor at the beginning of the Block to be copied or moved. 2. Enter DropAnchor to mark a stream of characters, or MarkLine to mark whole lines, or MarkColumn to mark a column of text. 3. Position the cursor at the end of the Block to be copied or moved. 4. If you want to leave the Block in its original position and insert copies of it at other locations, then enter Copy . If you want to delete the Block from its original position and insert copies of it at other locations, then enter Cut . The Block is now stored in the Scrap Buffer. 5. Move the cursor to the location in the file where you want to insert the Block. 6. Enter Paste or PasteOver (column Blocks only). The Block is now inserted. Repeat steps 5 and 6 for each additional insertion. * Copying or moving a Block for multiple insertions in more than one file. If you want to insert the same Block at several positions in more than one file, follow these steps: 1. Position the cursor at the beginning of the Block to be copied or moved. 2. Enter DropAnchor to mark a stream of characters, or MarkLine to mark whole lines, or MarkColumn to mark a column of text. 3. Position the cursor at the end of the Block to be copied or moved. 4. If you want to leave the Block in its original position and insert copies of it at other locations, then enter Copy . If you want to delete the Block from its original position and insert copies of it at other locations, then enter Cut . The Block is now stored in the Scrap Buffer. 5. Switch to the "target" file using the file commands EditFile, NextFile, or PrevFile. 6. Move the cursor to the location in the file where you want to insert the Block. 7. Enter Paste or PasteOver (column Blocks only). The Block is now inserted. Repeat steps 5-7 for each additional insertion. * Copying multiple Blocks for insertion in one or more files. If you have several Blocks that you want to insert in several different files, follow these steps: 1. Position the cursor at the beginning of the first Block. 2. Enter DropAnchor to mark a stream of characters, or MarkLine to mark whole lines, or MarkColumn to mark a column of text. 3. Position the cursor at the end of the first Block. 4. Enter AppendScrBuff if you want to append to an existing Scratch Buffer. Otherwise, enter StoreScrBuff to create or overwrite an existing Scratch Buffer. 5. The editor will prompt for the name of the buffer. Enter a name. (It is best to use a name which reflects the contents of the buffer and is easily remembered). The Block is now stored in a Scratch Buffer under the assigned name. Repeat steps 1-5 for each additional Block you want to store. 6. Switch to the "target" file using the file commands EditFile, NextFile, or PrevFile. 7. Move the cursor to the location in the file where you want to insert a Block. 8. Enter GetScrBuff . The editor will prompt for the name of the Scratch Buffer. Enter the name of the desired Scratch Buffer for insertion. Repeat steps 6 through 8 for each insertion of a stored Block. Non-Block Commands ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ In addition to the editor's array of Block commands, there are also many commands for manipulating your text which do not depend on marked Blocks. This section explains non-Block commands. Adding Text * AddLine As its name implies, this command inserts a blank line in the text. The line is added immediately below the current cursor line. The cursor is moved to the new line. The cursor column does not change. * InsertLine This command inserts a blank line in the text above the cursor line. The cursor remains on the new line and the cursor column does not change. * Literal The Literal command is used to insert control characters into the text. To use this command, enter followed by a control character. The control character will be inserted into the text. For example, to insert a formfeed character (ASCII 12) in the text, enter . This command is handy for entering the control characters represented by ASCII decimal values 1 through 26. Simply enter followed by for ASCII character 1, or for ASCII character 2 and so on, up to for ASCII character 26. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ An alternate and perhaps easier method of entering control ³ ³ characters or any ASCII character into your text is to ³ ³ hold down the key and enter the decimal equivalent ³ ³ of the ASCII character using the numeric keypad. For ³ ³ example, to insert a formfeed character (ASCII 12) in the ³ ³ text, just enter using the numeric keypad. ³ ³ ³ ³ If a linefeed character (ASCII 10) is entered, the editor ³ ³ will split the line at this position the next time the ³ ³ file is edited. ³ ³ ³ ³ Another method for entering ASCII characters into the text ³ ³ is to use the AsciiChart command, described below. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * AsciiChart Displays a scrollable ASCII chart on the screen. When the ASCII chart is displayed, the cursor bar is located on the entry that corresponds to the character at the cursor position in the text. If the cursor is positioned in the text beyond the end of the line, the cursor bar is located on the first item in the ASCII chart (the null character). To place a display character from the ASCII chart into the text, scroll the cursor bar to the desired entry and press . The ASCII chart is removed from the screen, and the selected character is placed in the text at the cursor position. To remove the ASCII chart from the screen without placing a character into the text, press . * ToggleBoxDraw This is a specialized command which is really a mode of operation that can be switched ON or OFF. If switched ON, the cursor movement keys (up, down, right, left) can be used to "draw" lines in the text. This can be very useful for creating graphs and tables. To switch Box Drawing mode ON, enter . To switch OFF, enter again. When Box Drawing mode is ON, a "B" appears on the StatusLine. * ToggleEnterMatching This is also a specialized command which is really a mode of operation that can be switched ON or OFF. If switched ON, the editor will automatically insert into the text a corresponding ), ], }, or " character each time a (, [, {, or " character, respectively, is entered. To switch EnterMatching mode ON, enter . To switch OFF, enter again. Copying Text * GetPrev This command copies the character directly above the cursor onto the cursor line. To get an idea of how this command works, place the cursor at the beginning of any line which has text on the line immediately above it. Now press and hold it down. The cursor will move to the right while copying the the characters from the line above. * DupLine This command simply makes a copy of the current cursor line and inserts this copy on the line immediately below the cursor line. The cursor is placed on the new line. * Copy , Paste Refer to the "Block Commands" section in this chapter for a complete explanation of these commands. The commands are included here because, if desired, the User can configure the editor so that these commands act on the current cursor line in the same manner in which they act on Blocks. For more information on how to configure this option, refer to the "Advanced Options" section of Chapter 2. Moving Text * Align This command lines up the left-most character of the cursor line with the left-most character of the line above it. This allows you to align portions of text which require a common left margin. This command also moves the cursor down one line; thus, large portions of text can be aligned very quickly by entering this command and holding the command key down. * JoinLine This command will join the following line to the end of the current line. The cursor position does not change. If the cursor is positioned on or before the last non-blank character of the line, the line below will be appended immediately following the last non-blank character. If the cursor is positioned beyond the last non-blank character of the line, the line below will be appended beginning at the current cursor position. If the line below the cursor line is blank, the blank line will be deleted. * Return Before reading the explanation of the Return command, it may be helpful to review the discussion of Insert mode in the "Modes" section in this chapter. If the editor is in Insert mode, this command performs like the SplitLine command; that is, all text on and to the right of the cursor on the cursor line will be deleted and inserted on a new line immediately below the cursor line. The cursor, however, will be placed on the new line. If the editor is not in Insert mode, this command will simply place the cursor at the beginning of the line below the cursor line. No text will be affected. If the editor is in AutoIndent mode, the cursor will be placed at the left margin instead of at the beginning of the line. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ The editor can be configured so the Return command does ³ ³ not split lines in Insert mode. Refer to the "Advanced ³ ³ Options" section of Chapter 2 for more information. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * SplitLine This command will split the current line at the cursor position. The cursor position will not change. * SwapChars This command will swap the character at the cursor position with the character preceding the cursor. The cursor column position does not change. * SwapWords This command will swap the word in which the cursor is positioned with the previous word on the current line. Any "non-word" characters between the affected words are preserved. * SwapLines or

This command specifies the number of blank spaces to be used as a left margin. Valid values are zero to 200. * SetPrintPageSize

or

This command specifies the number of lines to be printed on each page. Valid values are zero to 200. A value of zero instructs the editor to print continuously without page breaks. * SetPrintTopMargin or

This command specifies the number of lines printed at the top of each page before the text is printed. Valid values are zero to 200. If the print page size is zero, the editor treats the document as one page and the top margin is ignored for all pages except the first printed page. * SetPrintBotMargin or

This command specifies the number of lines left blank at the bottom of each page. Valid values are zero to 200. If the print page size is zero, this command has no effect. * SetPrintDevice or

This command identifies the print output destination. Choices are PRN, LPT1, LPT2, LPT3, or any valid DOS filename (for printing to disk). * SetPrintLineSpacing or

This command indicates the number of lines to advance for each new line of text to be printed. Valid values are 1 to 200. A value of 1 signifies single-spaced output, 2 signifies double-spaced output, etc. * TogglePrintLineNumbers or

This command determines whether line numbers are printed. Set this option ON to have file line numbers printed at the beginning of each line; set this option OFF if you do not want line numbers added to the print output. * TogglePrintPause or

This command determines whether the editor suspends printing between pages. To have the editor pause after each page is sent to the printer, set this option ON. (For this option to operate effectively, the print page size must be set to an appropriate value greater than 0. Refer to SetPrintPageSize in this section.) The editor then requires a keypress after every page is printed before continuing. This allows you to manually feed paper to the printer, one sheet at a time. Set this option OFF for the editor to automatically send each subsequent page to the printer without pausing. Formfeeds ÄÄÄÄÄÄÄÄÄ The editor automatically sends a formfeed character (ASCII 12) to the printer between each printed page. A page is determined according to the value of SetPrintPageSize (refer to the previous section). By default, the editor also sends a formfeed character when printing is complete (after the last printed page). You can configure the editor so that it does not send a final formfeed. To change the default behavior, set the configuration option "Add formfeed after printing" to . (Refer to the "Printer Options" section of Chapter 2.) You can also change this option interactively for the current session only, with the following command: * TogglePrintAddFF or

This command determines whether the editor sends a formfeed character when printing is complete (after the last printed page). To have the editor send a final formfeed character to the printer, set this option ON. Set this option OFF to prevent the editor from automatically sending a final formfeed character. At times you may find it desirable to insert formfeed characters directly into your text. For example, you want the page size for your text to be 55 lines, which you have set using the SetPrintPageSize command, but there is a 15-line table in the text that should appear on a page by itself. To accomplish this, simply insert formfeed characters immediately before and after the table. To insert a formfeed character in the text, enter the Literal command followed by a formfeed character. Alternatively, you can insert a formfeed character by holding down the key and typing "12" on the alternate numeric keypad. (You can also use the built-in ASCII-chart feature to insert a formfeed character. Refer to the AsciiChart command in the section "Adding Text" of this chapter.) If you need to insert formfeed characters into your text repeatedly, you may want to use a macro. An example of a macro to insert formfeed characters can be found in the "Example of a Keyboard Macro" in the file MACRO.DOC. It is also possible, from within the editor, to send a formfeed character directly to the printer, causing the printer to eject a page. To do this, simply execute the PrintEject command. THE SHELL AND DOS COMMANDS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (For the following discussion, "Dos" is an editor command, while "DOS" refers to the computer's operating system.) Two very helpful commands allow you to interact with DOS from within the editor. The commands, Shell and Dos, allow you to perform most functions that you would normally execute from the DOS command line, then return you to your original position in the editor. The editor also has an option which frees up memory when executing the Shell and Dos commands. For details, see "Swapping, [JR] Shell Indicator" later in this section. * Shell This command should be used when executing multiple DOS commands. Upon executing the Shell command, control is passed to DOS. The DOS prompt appears on the screen, just as if no other programs were running. You may now enter most DOS commands. (Some exceptions are noted below.) Once you have entered all the desired DOS commands, simply type "exit" and press , and control passes back to the editor. You are then positioned in the file exactly where you were when the Shell command was executed. * Dos This command should be used when executing a single DOS command. Upon executing this command, the editor prompts with: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Execute what: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ You may now enter almost any DOS command. (Some exceptions are noted below.) Once the DOS command has completed, pressing any key causes control to pass back to the editor. You should not execute any TSR programs (programs that terminate but remain resident in your computer) from the Shell or Dos commands. For example, the DOS PRINT and GRAPHICS commands are TSR programs. If you mistakenly execute a TSR program from the Shell or Dos command, the computer's memory allocation scheme will probably become fragmented, and as a result, the editor's available memory may become severely limited. You should save your files, terminate the editor, and then reboot the computer. Swapping, [JR] Shell Indicator ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The Dos and Shell commands can optionally swap the editor out to disk or expanded memory leaving only a 2K kernel in memory. This allows much more memory for running memory-hungry programs (such as compilers) from within the editor. You can set this option by default using the configuration program (Advanced Options), or you can toggle it ON and OFF using the ToggleSwap command. While in a shell with swapping ON, the editor will maintain a file with a ".SWP" file extension in your root directory. It is very important that you do not delete this file while in the shell. Once in the shell, the editor will optionally append "[JR]" to the DOS prompt string, provided that: 1. You have defined the prompt environment variable. 2. There is enough space left in the environment. 3. You have set the "Change DOS PROMPT during a Shell" option to via the configuration program. (For more information, refer to the "Advanced Options" section of Chapter 2.) If you have NOT defined the prompt environment variable, then we suggest you do so. It is helpful with DOS command-line operations in general. A suggested prompt is (this should go in your AUTOEXEC.BAT file): set prompt=$p $t $g If you do have a prompt string defined, but you do not get the "[JR]" prompt in the editor's shell, add the following to your AUTOEXEC.BAT: set x=x WORD-PROCESSING COMMANDS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor has all the features you need to do basic word processing. In addition to the commands which enable you to view and edit your text (discussed in previous sections), the editor provides word-wrapping, paragraph-reformatting capabilities, and a line-centering command. The editor also contains commands for changing case and for filling a Block. Refer to the sections in this chapter on "Changing Case" and "Manipulating Blocks Directly," respectively, for more information on these two functions. * The Right Margin To benefit from the word-wrap and paragraph-reformatting features of the editor, an appropriate right margin must first be set. The default setting is column 72. This may be changed using the configuration program. (Refer to the "General Options" section of Chapter 2 for instructions on how to change the right margin setting.) The value of the right margin is used each time the editor is initiated. The editor provides the ability to change the right margin setting temporarily while the editor is running without affecting the permanent setting. To change the right margin setting temporarily, execute the SetRmargin command. The editor prompts with: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Right margin [1..2032]: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter the desired column number for the right margin. The new setting is in effect until the SetRmargin command is executed again or the next time the editor is initiated. WordWrap mode (see below) is automatically switched ON whenever the right margin is set using this command. * WordWrap WordWrap is an editing mode which can be switched ON and OFF using the ToggleWordwrap command. When switched ON, this mode causes the cursor to advance automatically to the next line as text is entered. The cursor advances to the next line based on the right margin, which is set using the SetRmargin command (see above). Once the cursor reaches the right margin and a non-blank character is typed, the cursor, along with the word (that is, any continuous string of non-blank characters) currently being typed, will be advanced to the next line. The cursor does not advance to the next line if the current line does not contain at least one space. * Paragraph Reformatting The WrapPara command reformats text from the current cursor position to the next blank line or the end of the file. The right-hand side of the text is reformatted based on the right margin. The right margin is set using the SetRmargin command (see above). The left-hand side of the text is reformatted based on AutoIndent mode. If AutoIndent mode is switched OFF, the left margin is column one. If AutoIndent mode is switched ON, the first non-blank character on the line immediately AFTER the cursor line is used for the left margin. Using the line AFTER the cursor line allows for special indentation for the first line of a paragraph. (For more information on AutoIndent mode, refer to the "Modes" section of this chapter.) * CenterLine Centers the current cursor line based on column 1 and the right margin. Use the SetRmargin command to change the right margin (see above). With the cursor inside of a line Block, you can execute this command to center several lines at once. With the cursor inside of a column Block, you can center lines based on the left and right Block boundaries. MODES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor uses modes to affect its operation. In general, an editor mode is a state during which certain commands or keystrokes behave differently. Following is an explanation of various editor modes. * Insert mode Insert mode can be switched ON and OFF by pressing the key. When Insert mode is ON, an "I" appears on the StatusLine. The following table describes the commands and keystrokes which are affected by Insert mode. Command/ Keystroke Insert ON Insert OFF ÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Characters, Shifts text to right Overwrites existing Space of cursor, one column text. to the right. Backspace Deletes character/word Deletes character/word to left of cursor. Text to left of cursor. Text to right of cursor to right of cursor does shifts left one column. not shift. Return Splits line at cursor Does not split line. position. Cursor moves Cursor moves to next to next line. line. TabLt, Tabs cursor and shifts Tabs cursor only. TabRt text same number of positions. * CUA-Style Block Marking mode This mode enables CUA-style Block marking, using the shifted cursor keys. CUA-Style Block Marking mode can be switched ON and OFF using the ToggleCUAMarking command. You can also set this mode as the default mode by setting the configuration option "Use CUA-style (shift cursor) block marking" to . (Refer to the "Advanced Options" section of Chapter 2.) When switched ON, this mode forces the shifted cursor keys to mark non-inclusive character Blocks. The "CUA-Style Block Marking" section of this chapter provides additional information about this mode. * AutoIndent mode AutoIndent mode is switched ON and OFF using the ToggleIndent command. This mode, when ON, positions the cursor at the current left margin (This is not the same as the print left margin.) whenever the key is pressed. The current left margin is determined by the first non-blank character on the immediately preceding line. When AutoIndent mode is ON, an "A" appears on the StatusLine. The following table describes the commands and keystrokes which are affected by AutoIndent mode. Command/ Keystroke AutoIndent ON AutoIndent OFF ÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Return Cursor positioned below Cursor positioned at first non-blank character column one. of previous line. WrapPara When reformatting, the left A left margin of zero is margin is determined from used when reformatting. the first non-blank character on the line immediately following the cursor line. * C mode This mode is specifically for "C" language programming. It is switched ON and OFF using the configuration program. (Refer to the "General Options" section of Chapter 2 for information on switching C mode ON and OFF.) C mode is only in effect when AutoIndent mode is also ON. C mode, when switched ON, affects files with a ".c", ".cpp", ".cxx", ".h", ".hpp", or ".hxx", file extension. When the current cursor line contains a "{" and the key is pressed, the editor issues a normal Return followed by a TabRt command. Additionally, when a "}" character is entered, the editor first issues a TabLt command and then enters the "}" character. * WordWrap mode WordWrap mode is switched ON and OFF using the ToggleWordwrap command. When switched ON, this mode causes the cursor to advance to the next line automatically as text is entered. The cursor advances to the next line based on the right margin, which is set using the SetRmargin command. Once the cursor reaches the right margin and a non-blank character is typed, the cursor, along with the word (i.e., any continuous string of non-blank characters) currently being typed, is advanced to the next line. The cursor does not advance to the next line if the current line does not contain at least one space. When WordWrap mode is ON, a "W" appears on the StatusLine. * BackUp mode BackUp mode is switched ON and OFF using the ToggleBakups command. When BackUp Mode is switched ON, the editor creates a backup copy (using the .bak file extension) for any file that is edited and saved. The backup copy of the file is an image of the file before it was last edited and saved. When BackUp mode is OFF, no backup files are created. * MacroRecord mode MacroRecord mode is switched ON and OFF using the MacroRecord command. This mode, when ON, records and assigns a series of commands and keystrokes to a designated key (or scrap area). This creates a Keyboard Macro. For a complete explanation of macros and their use, refer to the file MACRO.DOC. When MacroRecord mode is ON, an "R" appears on the StatusLine. * EnterMatching mode EnterMatching mode is switched ON and OFF using the ToggleEnterMatching command. If switched ON, the editor automatically inserts into the text a corresponding ), ], }, or " character each time a (, [, {, or " character, respectively, is entered. * Box Drawing mode Box Drawing mode is switched ON and OFF using the ToggleBoxDraw command. If switched ON, the cursor movement keys (up, down, right, left) can be used to "draw" lines in the text. This can be very useful for creating charts and tables. The ToggleBoxType command allows you to select different line drawing styles. When Box Drawing mode is ON, a "B" appears on the StatusLine. * Synchronized Scrolling mode Synchronized Scrolling mode is switched ON and OFF using the ToggleSyncScroll command. If switched ON, and there are multiple windows on the screen, the editor simultaneously performs cursor movement and scrolling activity in all other windows as you move the cursor or scroll the text in the current window. When Synchronized Scrolling mode is ON, an "S" appears on the StatusLine. The "Synchronized Scrolling in Windows" section of this chapter provides additional information about this mode. * Fixed Tabs mode Fixed Tabs mode is selected using the SetTabType command. If selected, the TabRt and TabLt commands move the cursor to the next (or previous) tabstop as defined by the value of the cursor tab width (set by the SetCtabwidth command). * Smart Tabs mode Smart Tabs mode is selected using the SetTabType command. If selected, the TabRt and TabLt commands place the cursor beneath the first character of the next (or previous) word on the first nonblank line preceding the current cursor line. * Variable Tabs mode Variable Tabs mode is selected using the SetTabType command. If selected, the TabRt and TabLt commands move the cursor to the next (or previous) tabstop as defined by the variable tab stops (set by the SetVarTabStops command). Note that all of the supported tab modes may be set via the Tab type menu (). * Physical Tab Expansion mode Physical Tab Expansion mode is switched ON and OFF using the ToggleTabsExpand command. If switched ON, physical tab characters (ASCII 9) found in a file are expanded into spaces according to the Physical Tab Width set in the configuration program. (Refer to the "Tab Settings" section of Chapter 2.) If switched OFF, physical tabs are displayed on the screen and a physical tab character is placed in the text each time the TabRt command is executed. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ In general, Physical Tab Expansion mode should always be ³ ³ set ON. You would only want to set it OFF if you are ³ ³ editing binary or data files that contain or require ³ ³ physical tabs. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * Tabs Out mode Tabs Out mode is switched ON and OFF using the ToggleTabsOut command. If switched ON, continuous spaces in a line of text are replaced with physical tabs (ASCII 9) according to the Physical Tab Width set in the configuration program. (Refer to the "Tab Settings" section of Chapter 2.) Spaces falling between single or double quotes are not replaced. CHAPTER 2. CUSTOMIZING THE EDITOR ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The editor provides a configuration capability that allows you to customize the editor to suit your individual preferences. There are a wide range of options which may be customized, including key assignments, colors, tab settings, and printer options. Of course, customizing the editor is not a requirement. If you like the editor exactly the way it is, it is not necessary to use the configuration program. The configuration program is QCONFIG.EXE and is included on the distribution diskette, along with the other editor files. The configuration program customizes the editor by actually modifying the editor program itself - Q.EXE. INITIATING THE CONFIGURATION PROGRAM ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ To initiate the configuration program, type "qconfig" from the DOS command line, and press . The program displays a prompt to request the name of the editor program to customize. The following prompt is issued by the configuration program: Enter program name to config, for Q.EXE : Simply press , unless you have previously renamed the editor, or if the editor is located in another directory. If you have renamed the editor, enter the appropriate filename and press . If it is located in another directory, enter the full pathname and press . If the file to be customized could not be located on disk, the error message "File not found" is displayed. Check the editor's filename and/or path for accuracy. If the version numbers of the editor and the configuration program are not the same, the error message "Configuration area not found" is displayed. Try reloading the editor software from the distribution disk (in particular, Q.EXE and QCONFIG.EXE). THE CONFIGURATION MENU ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The configuration program displays the following menu from which to select the desired functions for customization. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Configuration choices. ³ ³ Choose One of the Following by pressing the indicated Key: ³ ³ ³ ³ Advanced options ³ ³ Colors/screen ³ ³ General options ³ ³ Help install ³ ³ Keys ³ ³ Printer options ³ ³ Quit ³ ³ Save changes and quit ³ ³ Tab settings ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Following is a brief explanation of these menu items. They are discussed in detail later in this chapter. * Advanced options Contains a variety of configurable options, including those related to video display, DOS memory, editor menus, and the mouse. * Colors/screen Allows you to change colors of various display items and to specify numerous other editing display options. * General options A miscellaneous category of options. * Help install Allows you to install your own Help Screen. * Keys Allows you to reassign editor commands to different keys. * Printer options Allows you to set options for printing text, such as page size. * Quit Terminates the program. You are first prompted to save or not save changes. * Save changes and quit Terminates the program, unconditionally saving your changes. * Tab settings Allows you to set various tab-related options, including the physical and cursor tab widths. To make a selection from the menu, type the first letter of the desired menu item. You are prompted for a response to each option within the category. Each configuration option is displayed along with its current value. (The Keys and Help install categories, however, work a little differently and simply request a filename.) For each option displayed, you may enter a new value. If you do not wish to change the current value, simply press . After you have reviewed all options in a category, you are returned to the main configuration menu where you can select another category. Once you have completed customizing, you may save all the changes you have made either by simply typing "S" at the main menu prompt; or by typing "Q" at the main menu prompt, and then typing "Y" at the prompt, "Save Changes (Y/N)?". Your changes are made permanent (that is, effective the next time you execute the editor) by writing them to the editor program itself (Q.EXE or QMR.EXE). The configuration program then terminates. If you decide that you do not want to save your changes, type "Q" at the main menu prompt, then type "N" at the prompt, "Save Changes (Y/N)?". No changes are saved, and the configuration program terminates. ADVANCED OPTIONS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This section contains a list of the Advanced Options which can be customized using the configuration program. The configuration program prompt message, the default value, and a description are given for each option. * Test for presence of enhanced keyboard (Y/N)? [N] : If your system has an enhanced (101-key) keyboard, set this option to for the editor to recognize the additional keys such as F11, F12, and the grey cursor keys. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ Many TSRs, including mouse drivers, do not properly ³ ³ recognize the enhanced keyboard. If you are using a TSR ³ ³ and it is not working with the editor, try setting this ³ ³ option to . ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * Swap to Expanded memory or DISK on the Dos and Shell commands (Y/N)? [Y] : Select if you want the editor to swap itself out of DOS memory and to expanded memory or disk whenever the Dos or Shell commands are executed. This will leave a small 2K editor kernel in DOS memory, freeing up the rest of DOS memory for running other applications, such as compilers or spreadsheets, out of the Dos or Shell commands. * Drive and path for swapping (*=default-drive) [C:\] : If you selected for the previous option, then specify here the disk drive and path to be used for swapping. Enter an asterisk ("*") if you want the editor to default to your current drive for swapping. * Should the editor change the cursor size (Y/N)? [Y] : By default, the editor uses a small cursor when Insert mode is OFF, and a medium cursor when Insert mode is ON. Select if you do not want the editor to change the cursor size. * Do you want a large flashing cursor (Y/N)? [N] : If you want to use a large flashing block cursor, set this option to . This option is great for laptop users. * Size of cursor in Insert mode [0..7] [4] : Determines the size of the cursor when Insert mode is ON. A value of 0 indicates that no cursor indication is to be displayed. Values 1 to 7 indicate increasingly larger flashing cursor sizes. * Size of cursor in overwrite mode [0..7] [1] : Determines the size of the cursor when overwrite mode is ON. A value of 0 indicates that no cursor indication is to be displayed. Values 1 to 7 indicate increasingly larger flashing cursor sizes. * Get num rows on screen from BIOS data area (100% IBM PC only)(Y/N)? [N] : FOR NON EGA/VGA SYSTEMS ONLY. Set this option to if you want the editor to automatically detect the number of rows on your screen. Setting this option to , to automatically detect the number of rows on your screen, only works if you have an IBM PC-AT or 100% compatible. For example, setting this option to does NOT work on AT&T 6300s. * Number of rows on screen (NOT NEEDED with EGA/VGA) [25..255] [25] : FOR NON EGA/VGA SYSTEMS ONLY. If you set the previous option to , then you must provide the number of rows on your screen here. You should set this option to 25 unless you have a special card and monitor (such as a Genius Video System) that allow you to display more than 25 rows. * Do you want the Return command to split lines in Insert mode (Y/N)? [Y] : Normally, the Return command splits the current line at the cursor when executed with Insert mode ON. This means that the portion of the line following the cursor is inserted on a new line. If Insert mode is OFF, the Return command simply places the cursor at the beginning of the next line. If you select for this option, the Return command always acts as if Insert mode is OFF. Return moves the cursor to the beginning of the next line with no effect on the text. * Should Cut and Copy use current line if no block marked (Y/N)? [N] : If you enter for this option, the current cursor line is used when you execute the Cut or Copy command and no Block is marked in the current file. * Do you want the Escape command to invoke the menus (Y/N)? [Y] : By default, the Escape command displays the pull-down menu, when executed outside of the menu or any editor prompts. If you do NOT want the Escape command to do this, select for this option. * Should the editor restore the starting drive/dir on program exit (Y/N)? [Y] : Set this option to if you want to return to the original DOS drive and directory on program exit regardless of which drives and directories you have accessed with the editor's directory picker or the Dos or Shell commands. * Should the editor change the DOS PROMPT during a shell (Y/N)? [N] : Set this option to if you want the following to be appended to the DOS prompt during an editor Shell: [JR]. * Should TabRt/TabLt be allowed to shift an entire block (Y/N)? [N] : Set this option to if you want the TabRt and TabLt commands to shift entire marked Blocks when the cursor is within the marked Block and Insert mode is ON. * Date format: 1=MM-DD-YY, 2=DD-MM-YY, 3=YY-MM-DD [1] : Determines the date format used by the InsertDate command. The date string consists of a three-character abbreviation for the day of the week, followed by the numerical date of the month. The order of the elements of the date of the month can be selected from three options: select <1> for month, followed by day of the month, followed by 2-digit year; select <2> for day of the month, followed by month, followed by 2-digit year; select <3> for 2-digit year, followed by month, followed by day of the month. * Character to use to separate the elements of the date [-] : Determines the separator character used by the InsertDate command. Select the character to be used to separate the day, month, and year elements of the date. * Time format: 1=24-hour, 2=12-hour [1] : Determines the time format used by the InsertTime command. Select <1> for 24-hour time format; select <2> for 12-hour time format. * Character to use to separate the elements of the time [:] : Determines the separator character used by the InsertTime command. Select the character to be used to separate the hours and minutes (and seconds for 24-hour format) elements of the time. * Full path to supplemental files [] : Identifies the directory where the editor's supplemental files are stored. These supplemental files are: the files used by the spelling checker (in the registered version); and any loadable macro files (that is, Keyboard Macros and macros created with QMac). If you are using DOS 3 or above and you store all supplemental files in the same directory as the editor, you do not need to set this option. * Enable mouse processing (Y/N)? [Y] : Determines whether the editor recognizes use of a mouse for editing operations. If this option is set to , and a mouse driver is loaded, the mouse will be active in the editor. Set this option to to disable mouse operation within the editor. * Left-handed mouse (Y/N)? [N] : Determines whether the mouse operates as a left-handed mouse. Set this option to to swap the functions of the outside buttons on the mouse for use with your left hand. Set this option to for standard operation of the mouse buttons. * Mouse hold time (in 1/18th sec) [1..36] [9] : Indicates the amount of time a mouse button must be held down to distinguish between the mouse button being clicked (pressed and immediately released) versus being pressed and held. When a mouse button is clicked, a command executed from a mouse scrollbar is executed one time only. When a mouse button is pressed and held, the command is executed repeatedly until the mouse button is released. (See "Mouse repeat-delay factor" below.) Only the scrolling operations are repeatable. To select the amount of time that you must hold down the mouse button before the editor begins repeating a mouse-executed command, set this option to the desired value, from 1 through 36. The time is measured in terms of machine timer ticks, in 1/18-second increments. For example: A value of 9 means that the mouse button is considered clicked if pressed and released within 1/2 second; otherwise, if the mouse button is pressed and held for longer than 1/2 second, the editor begins repeating the selected command. * Mouse repeat-delay factor [0..32767] [600] : Indicates the relative amount of time the editor is to wait between repetitions of a command when a mouse button is pressed and held. (See "Mouse hold time" above.) When a mouse button is pressed and held, a command executed from a mouse scrollbar is repeated as long as the mouse button is held down. To control the amount of time that the editor delays between each repetition of a mouse-executed command, set this option to an appropriate value, from 0 through 32767. This option is hardware dependent, and is relative to the speed of your particular machine. To slow down repetition, increase the value of this option; to speed up repetition, decrease the value. * Use CUA-style (shift cursor) block marking (Y/N)? [Y] : Determines whether CUA-Style Block Marking mode is initially ON or OFF each time the editor is executed. If this option is set to , the editor forces the following shifted cursor keys to operate as indicated (regardless of the commands asssigned to these keys in QCONFIG.DAT): CUA-style Key Block-marking Operation ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Mark/extend Block and move left one character Mark/extend Block and move right one character Mark/extend Block and move up one line Mark/extend Block and move down one line Mark/extend Block and move to beginning of line Mark/extend Block and move to end of line Mark/extend Block and move up one page Mark/extend Block and move down one page Set this option to to have the shifted cursor keys operate according to their assignments in QCONFIG.DAT. * Should blocks remain marked after CUA marking (Y/N)? [N] : Determines whether a Block marked using the CUA-style marking keys (with CUA-Style Block Marking mode ON) will remain marked after you type a non-CUA-style Block marking or command key. Set this option to for such Blocks to remain marked. Set this option to if you want such Blocks to be automatically unmarked once you type a non-CUA-style Block marking or command key. COLORS/SCREEN OPTIONS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This section contains a list of the Screen and Screen Color Options which can be customized using the configuration program. The configuration program prompt message, the default value, and a description are given for each option. * StatusLine position: 'T' for top, 'B' for bottom [T] : Indicates whether the StatusLine is to be positioned at the top line or the bottom line of the screen. * StatusLine fill character [ ] : This character is used to "break up" the information on the editor's StatusLine. The default is the space character. For example, if the dash character is specified, the StatusLine would look like this: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³L 15-- C 15---IAW-BS--411K-----*c:\semware\editor.doc--------³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ * Display hex/decimal values of current character on StatusLine (Y/N)? [N] : Shows the hexadecimal and decimal values of the current character at the right-hand edge of the StatusLine. * Do you want the display boxed (Y/N)? [N] : Indicates whether the editing screen is to be completely enclosed in a box, so that each window on the screen has a border. To fully use the mouse capabilities, set this option to . This is because the mouse uses the border area to scroll text and perform many window operations. * Do you want the original screen restored upon termination (Y/N)? [Y] : Determines whether the editor is to restore the original screen upon exiting the program. Be aware that setting this option to causes the editor to require an additional 4K of memory; however, this can be very handy after long editing sessions to see what you were doing before you started. * Do you want snow checking (Y/N)? [N] : Determines whether the editor should slow down screen updating to eliminate "snow" (a sparkling appearance on the screen that results from updating the screen too quickly). If this option is set to , and the editor determines that your system has a Color/Graphics Adapter card (CGA), the editor does not write to the screen at full speed, in order to avoid "snow". If you have a CGA card that does not create snow effects, set this option to so that the editor updates the screen as quickly as possible. If you have a VGA, EGA, COMPAQ, ZENITH, or other color adapter that allows full speed screen updating without "snow", then set this option to . This option has no effect on monochrome and true EGA/VGA cards. * Columns to scroll horizontally for screen lt/rt commands [1..400] [1] : Specifies the number of columns that the editor should scroll when you execute the ScreenLeft or ScreenRight commands. * Startup video mode: 0=current, 1=25lines, 2=28lines, 3=43/50lines [0] : Determines whether the editor sets an initial video mode upon startup. 0: Use the current video mode 1: Set the monitor to 25-line mode 2: Set the monitor to 28-line mode (VGA only) 3: Set the monitor to 43/50-line mode (EGA = 43, VGA = 50) * Startup attribute set: 0=AutoDetect, 1=Monochrome, 2=Color [0] : Determines whether the editor uses color or monochrome attributes for the screen display. If you set this option to <0>, the editor will automatically detect the monitor type (color or monochrome) and use the appropriate attributes. * Do you want to configure the mono attribute set (Y/N)? [N] : Select if you wish to specify the attributes to use for the monochrome attribute set. * Do you want to configure the color attribute set (Y/N)? [N] : Select if you wish to specify the attributes to use for the color attribute set. (This option is skipped if you select for the previous option.) If you select for either of the previous two options, the following color chart and screen display options are presented: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Attribute chart/guide. [0..127] ³ ³ ³ ³[ 0][ 1][ 2][ 3][ 4][ 5][ 6][ 7][ 8][ 9][ 10][ 11][ 12][ 13][ 14][ 15]³ ³[ 16][ 17][ 18][ 19][ 20][ 21][ 22][ 23][ 24][ 25][ 26][ 27][ 28][ 29][ 30][ 31]³ ³[ 32][ 33][ 34][ 35][ 36][ 37][ 38][ 39][ 40][ 41][ 42][ 43][ 44][ 45][ 46][ 47]³ ³[ 48][ 49][ 50][ 51][ 52][ 53][ 54][ 55][ 56][ 57][ 58][ 59][ 60][ 61][ 62][ 63]³ ³[ 64][ 65][ 66][ 67][ 68][ 69][ 70][ 71][ 72][ 73][ 74][ 75][ 76][ 77][ 78][ 79]³ ³[ 80][ 81][ 82][ 83][ 84][ 85][ 86][ 87][ 88][ 89][ 90][ 91][ 92][ 93][ 94][ 95]³ ³[ 96][ 97][ 98][ 99][100][101][102][103][104][105][106][107][108][109][110][111]³ ³[112][113][114][115][116][117][118][119][120][121][122][123][124][125][126][127]³ ³ ³ ³Select attributes from the chart above. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The chart above is for use with the following Screen Color Options. Enter a number, in response to each option, based on the color in which the number appears on the chart. If you have a monochrome screen, many of the values in the chart will appear to be the same color. However, you still have the options of normal, highlighted, underlined, and reverse video. If you have a color monitor, you can take advantage of a wider array of options. (The default monochrome setting is shown in the text of each prompt message below. The default color setting is shown to the right of the prompt message.) * Attribute for Blocked Text [112]: Default Color Setting: [120] The color used for marked Blocks. * Attribute for Error msgs [112]: Default Color Setting: [15] The color used for warning and error messages. * Attribute for Text Area [7]: Default Color Setting: [27] The color used for normal text (the editing screen). * Attribute for StatusLine [112]: Default Color Setting: [112] The color used for the StatusLine. * Attribute for Cursor Line [15]: Default Color Setting: [30] The color used for the cursor line. Reverts to normal when a Block is marked. * Attribute for Messages [15]: Default Color Setting: [15] The color used for messages. * Attribute for Hi-lited items [9]: Default Color Setting: [9] The color used for "found" search strings when using the Find and FindReplace commands. * Attribute for EOF line/indicator [15]: Default Color Setting: [15] The color used for the "End of File" line. * Attribute for Help Screen [112]: Default Color Setting: [112] The color used for the Help Screen. * Attribute for Display Box Border [15]: Default Color Setting: [31] The color used for the border around the editor, if the editing screen is boxed. * Attribute for PopUp windows [15]: Default Color Setting: [112] The color used for the border around the pull-down menus and the prompt boxes. * Attribute for Menu items [7]: Default Color Setting: [112] The color used for items within sub-menus of the pull-down menu. * Attribute for Selected Menu items [112]: Default Color Setting: [32] The color used for selected items within the pull-down menus. * Attribute for Menu Quick Letter [15]: Default Color Setting: [116] The color used for the highlighted quick-key letter for each item listed on the pull-down menus. * Attribute for Selected Menu Quick Letter [15]: Default Color Setting: [36] The color used for the highlighted quick-key letter for the selected item on the pull-down menus. GENERAL OPTIONS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This section contains a list of the General Options which can be customized using the configuration program. The configuration program prompt message, the default value, and a description are given for each option. * Do you want the DelCh command to join lines if at EOL (Y/N)? [Y] : Affects the behavior of the DelCh command. Set this option to if you want the DelCh command to be restricted so that it only works on the current line. Set this option to if you want the DelCh command to work across line breaks. This means that if you issue DelCh at the end of the line, the following line is joined to the end of the cursor line (just as if you had issued a JoinLine command). * Do you want PQuit, Exit, and File to return to EditFile prompt (Y/N)? [Y] : If only 1 file is being edited, the editor can either terminate or ask for another file to edit whenever the PQuit, Exit, or File commands are executed. To have the editor terminate, select . * Do you want the editor to start in WordWrap mode (Y/N)? [N] : Set this option to if you want WordWrap mode to be ON each time the editor is started; otherwise, set it to . Refer to the "Word-Processing Commands" section of Chapter 1 for more information on WordWrap mode. * Default right margin for WordWrap [1..2032] [72] : Indicates the default right margin setting to be used each time the editor is executed. Set this option to a value from 1 to 2032. Refer to the "Word-Processing Commands" section of Chapter 1 for more information. * Do you want the editor to start in Insert mode (Y/N)? [Y] : Set this option to if you want Insert mode to be ON each time the editor is started; otherwise, set it to . Refer to the "Modes" section of Chapter 1 for more information on Insert mode. * Do you want the editor to start in AutoIndent mode (Y/N)? [Y] : Set this option to if you want AutoIndent mode to be ON each time the editor is started; otherwise, set it to . Refer to the "Modes" section of Chapter 1 for more information on AutoIndent mode. * Do you want the editor to use sticky AutoIndent (Y/N)? [N] : Set this option to if you want autoindenting to search back more than one line, if necessary, to find a nonblank line. AutoIndent mode must be set ON for this option to work. Refer to the "Modes" section of Chapter 1 for more information on AutoIndent mode. * Load wildcarded filespecs from the command line (Y/N)? [Y] : Affects the editor's behavior when filenames are specified containing wildcard characters (* or ?), from the DOS command line. Set this option to if you want the editor to load every file that matches the wildcarded specification. (For example, if you enter "q *.doc", the editor loads all files with the extension ".doc"). Set this option to if you want the editor to display a pick list of all the files which match the wildcarded specification. (You can then choose the file you want to edit by using the cursor keys to move to the desired file and then pressing .) * Load wildcarded filespecs from inside the editor (Y/N)? [N] : Affects the editor's behavior when filenames are specified containing wildcard characters (* or ?) within the prompt box for the EditFile command. Set this option to if you want the editor to load every file that matches the wildcarded specification. (For example, if you enter "*.doc", the editor loads all files with the extension ".doc"). Set this option to if you want the editor to display a pick list of all the files which match the wildcarded specification. (You can then choose the file you want to edit by using the cursor keys to move to the desired file and then pressing .) * Do you want the editor to start in EnterMatching mode (Y/N)? [N] : Set this option to if you want EnterMatching mode to be ON each time the editor is started; otherwise, set it to . Refer to the "Modes" section of Chapter 1 for more information on EnterMatching mode. * Use CMODE for .c, .cpp, .cxx, .h, .hpp, and .hxx files (Y/N)? [Y] : Set this option to if you want C mode to be ON each time the editor is started; otherwise, set it to . Refer to the "Modes" section of Chapter 1 for more information on C mode. * Default number of deleted lines to keep per file [0..300] [30] : Indicates the number of deleted lines that are saved by the editor, and can later be recalled using the UnKill command. For every file that is loaded in an editing session, this maximum number of lines is available. Enter a value from 0 to 300. (A value of 0 indicates that no deleted lines are to be saved.) * Remove trailing blanks from edited lines (Y/N)? [Y] : Determines whether the editor is to remove trailing blanks from each line of text that is edited. Set this option to if you want trailing blanks removed. (For most purposes, this setting is preferable, as it generally results in smaller files.) Set this option to if you want spaces at the end of lines to be preserved. * Terminate files with a Control Z (Y/N)? [N] : Determines whether the editor is to add a Control Z to the end of a file when it is saved to disk. Set this option to if you want to have a Control Z added to the end of files; otherwise, set this option to . MS/PC-DOS versions 2.0 and above do NOT require an end-of-file terminator. (The exact size of the file is stored in the directory.) However, some programs that were directly translated from their CP/M versions still require the Control Z end-of-file marker. If you have one of these programs for which you are creating text files, you should select for this option. * Do you want backups of saved files (Y/N)? [Y] : Determines whether the editor is to create a backup file (an image of the file before you did any editing) with the .bak extension each time you save a file. Set this option to to have backups created; otherwise, set this option to . * Prompt for filename on open window (Y/N)? [N] : Affects the editor's behavior when the HorizontalWindow command is executed. Set this option to to have the editor prompt for the name of the file you want to load into the new window. Set this option to to have the editor load the next file in the ring into the new window. (If only one file is loaded, another window containing the same file is opened.) * Close window when a file is quit (Y/N)? [Y] : Affects the editor's behavior when more than one window is open on the screen and a command is executed that discards a file from the editor. Set this option to to have the editor close the window containing the discarded file. Set this option to to have the editor load the next file in the ring into that window. * Display End Of File marker (Y/N)? [Y] : Determines whether the editor displays an indicator line at the end of the file, in the following format: <*** End of File ***> Set this option to to have the end-of-file indicator line displayed; set this option to if you do not want this line displayed. * Insert line blocks ABOVE the cursor line (Y/N)? [N] : Determines whether the editor is to insert line Blocks above or below the cursor line when the Paste, CopyBlock, or MoveBlock commands are executed. Set this option to to have line Blocks inserted above the cursor line; set this option to to have line Blocks inserted below the cursor line. * Do you want a beep on warning messages and missed searches (Y/N)? [Y]: Determines whether the editor sounds the bell on any warning message and when there is no match resulting from a Find or FindReplace operation. If you want the bell to sound, select ; otherwise, select . * Default Find options [IWBG] [I]: Indicates the default search options when using the Find command. The available default options are: "I" (Ignore case), "W" (Words only), "B" (Backwards search), and "G" (Global search). Multiple options can be specified. Note that even when these options are not selected as defaults, they can still be selected from within the editor when the Find command is executed. For more information on the Find command and the available Find options, refer to the "Finding Text" section of Chapter 1. * Default FindReplace options [IWBNG] []: Indicates the default search and replace options when using the FindReplace command. The available default options are: "I" (Ignore case), "W" (Words only), "B" (Backwards search), "N" (No prompting), and "G" (Global search). Multiple options can be specified. Note that even when these options are not selected as defaults, they can still be selected from within the editor when the FindReplace command is executed. For more information on the FindReplace command and the available FindReplace options, refer to the "Replacing Text" section of Chapter 1. * Should Find and RepeatFind center the found text (Y/N)? [Y] Affects the editor's behavior when the Find, RepeatFind, or IncrementalSearch commands are executed. Set this option to to have the line containing the found text centered vertically within the current window. Set this option to to have line containing the found text positioned on the same row as the current line. * Default file extension number 1 [.c]: Specifies the first default file extension. See explanation below. * Default file extension number 2 [.pas]: Specifies the second default file extension. See explanation below. * Default file extension number 3 [.inc]: Specifies the third default file extension. See explanation below. * Default file extension number 4 [.asm]: Specifies the fourth default file extension. See explanation below. * Default file extension number 5 [.h]: Specifies the fifth default file extension. See explanation below. * Default file extension number 6 [.doc]: Specifies the sixth default file extension. See explanation below. Six default file extensions are provided to save keystrokes each time a filename to edit is entered. These file extensions are used when the editor is executed with a filename from the command line or when the EditFile command is entered. If the filename entered does not end with a period (and does not include the DOS wildcard characters) and that file does NOT exist as named, the editor appends the first default file extension to the name and tries to load that file. If that file exists, then the editor loads it for editing. If it does not exist, the editor repeats the process with the other default file extensions. If no matching file is found, then the editor creates a new file as originally named. For each of the six previous options, enter the desired file extension. * Default to case-insensitive sort (Y/N)? [N] : Indicates the default case-sensitivity selection when the Sort command is executed. Set this option to to have the Sort command ignore the case of characters; set this option to to have the Sort command respect the upper/lower case of characters. * Default to descending-order sort (Y/N)? [N] : Indicates the default sort order when the Sort command is executed. Set the option to to sort in descending order; set this option to to sort in ascending order. THE HELP SCREEN ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor allows you to create a customized one-page Help Screen, which may be displayed at any time from within the editor by executing the QuickHelp command. This section contains instructions for installing your own Help Screen using the configuration program. Of course, you may prefer to use the default Help Screen which is already loaded into the editor. In that case no action is required. However, if you want to design and use your own Help Screen, simply follow these steps: 1. Create an 80 x 25 (80 columns by 25 lines) text file (you can use the editor to create this file) and list all of the information that should appear on the screen when the QuickHelp command is executed. We suggest that you list less frequently used commands in this file, while leaving out more familiar commands such as cursor movement and paging. 2. Run QCONFIG and select option from the configuration menu. 3. At the prompt, enter the name of the Help file just created. That is all there is to it! Now when you execute QuickHelp from within the editor, your customized Help Screen is displayed. KEYBOARD CONFIGURATION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor provides the extremely helpful capability of assigning editor commands (as well as strings of characters) to almost any key you prefer. This allows you to assign frequently-used commands to keys which are most convenient for your use, and even to completely reassign commands to emulate another text editor or word processor with which you are already familiar. By taking a few minutes to review this section, your future text editing may become significantly more comfortable as a result of customizing your keyboard to suit your individual preferences. The Keyboard Definition File ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor uses the Keyboard Definition file to customize the keyboard. This file contains a list of all the keys to which commands may be assigned. Supplied with the editor is a Keyboard Definition file called QCONFIG.DAT which contains the default settings for the keyboard. Other files are supplied which emulate certain common word processors and editors. The READ.ME file contains a list of these other emulations. The Keyboard Definition file consists of a list of configurable keys and the commands or macros which are assigned to them. The configurable keys are on the left side of the file, with the commands or macros assigned to the keys on the right. Blank lines and lines starting with an asterisk "*" are ignored. The QCONFIG.DAT file contains a complete list of configurable keys. Control keys are specified by a "^". For example: ^f1 or ^F1 specifies Control F1 ^c or ^C specifies Control C Alternate keys are specified by a "@". For example: @c or @C specifies Alt C @PgUp specifies Alt PgUp Shift keys are specified by a "#". For example: #f1 or #F1 specifies Shift F1 The format of a line in the Keyboard Definition file is simply the keystroke followed by the command. For example: f1 QuickHelp #f5 MakeCtrofScreen @f2 InsertLine cursorup CursorUp ^cursorleft WordLeft @a DropAnchor ^a WordLeft ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ The configuration program ignores the case of the key ³ ³ name, and ignores the case of the commands and of any ³ ³ underscores that may be embedded in the commands. This ³ ³ means that PGUP, PgUp, and pgup all refer to the same key, ³ ³ and InsertLine, insert_line, and Insert_Line all refer to ³ ³ the same command. ³ ³ ³ ³ Also, the order of the keys does not matter. The ³ ³ configurable keys may be put in any order desired. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ There is also a provision for assigning commands or macros to a "two-key". A two-key consists of two distinct keystrokes, such as immediately followed by . To assign a command or macro to a two-key, enter both keystrokes of the two-key in the first column (keystroke column) separated by an underline. For example, to assign the Exit command to the two-key, , enter the following into the Keyboard Definition file: ^f1_f2 Exit (Note that if you assign a command or macro to a single key, and then use that same key as the initial key of a two-key sequence, you lose the two-key assignment. For example, if you assign a command to , you would not be able to use a two-key assignment such as .) To allow you to further customize the editor, multiple commands and/or text can be assigned to any configurable key (or two-key). This is accomplished through the use of macros. For more information on creating macros and assigning them to keys, refer to "Creating Macro Programs" in the file MACRO.DOC. Creating a Keyboard Definition File ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ To customize the keyboard using the default Keyboard Definition file, QCONFIG.DAT, no action is required. the editor is distributed with this Keyboard Definition file already installed. The following outlines steps to create and install your own Keyboard Definition file. (To customize the keyboard using one of the supplied word-processor or editor emulation Keyboard Definition files, skip to step number 6.) 1. Load the file QCONFIG.DAT into the editor. (From the DOS command line, type "q qconfig.dat" and press ). 2. Rename the file using the ChangeFilename command . 3. Browse through the file using the Cursor Up and Down keys. Notice that the left side of the file contains a list of all configurable keys. To the right of each key is the command or macro currently assigned to the key. Some keys have no commands assigned. 4. Change the commands assigned to the keys to suit your particular needs. For more information on how to assign keys, refer to the previous section, "The Keyboard Definition File." 5. Save the file and exit the editor by pressing . 6. Run QCONFIG and select option from the menu. 7. You will be prompted for the name of the Keyboard Definition file. Enter the name of the Keyboard Definition file you wish to load. If you are creating your own file, enter the new name chosen in step 2. 8. Your key assignments are then incorporated into the editor program, Q.EXE, and the configuration menu reappears. 9. Press to save your changes and terminate the program. 10. Run the editor to insure that your key assignments function as desired. PRINTER OPTIONS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This section contains a list of the Printer Options which can be customized using the configuration program. The configuration program prompt message, the default value, and a description are given for each option. * Default left margin for printing [0..200] [0]: Indicates the number of spaces the editor skips before printing each line. If you do not want the editor to skip any spaces at the beginning of each line, select zero. * Default page size for printing [0..200] [55]: Indicates the number of lines to be printed per page. The editor sends a formfeed character to the printer after printing this number of lines. If you do NOT want the editor to send formfeed characters (for continuous printing), select zero. * Add formfeed after printing (Y/N)? [Y] : Determines whether the editor sends a formfeed character when printing is complete. Select if you want a formfeed character to be sent at the end of the document. (This is helpful for correctly lining up the printer in preparation for the next printing operation.) Select if you do not want a final formfeed character to be sent. * Default top margin for printing [0..200] [0] : Indicates the number of lines to be left blank at the top of each page during printing. * Default bottom margin for printing [0..200] [0] : Indicates the number of lines to be left blank at the bottom of each page during printing. * Include line number at beginning of each printed line (Y/N)? [N] : Determines whether the editor prints line numbers at the beginning of each line. To include line numbers in the printed output, select ; otherwise, select . * Default line spacing: 1=single, 2=double, etc... [1..200] [1] : Indicates the line spacing to be used when printing. * Should printing pause between pages (Y/N)? [N] : Determines whether the editor pauses between each printed page. To have the editor pause between pages, select . (For this option to be effective, the print page size must be non-zero.) If you do not want the editor to pause between pages, select . * Print Device: 0=PRN, 1=LPT1, 2=LPT2, 3=LPT3 [0] : Determines the initial print device. TAB SETTINGS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This section contains a list of all Tab Setting Options which can be customized using the configuration program. The configuration program prompt message, the default value, and a description are given for each option. * Do you want the editor to start in Physical Tab Expansion mode (Y/N)? [Y] : Determines whether Physical Tab Expansion mode is initially ON or OFF each time the editor is executed. Set this option to if you want Physical Tab Expansion mode to be ON each time the editor is started; otherwise, set it to . Refer to the "Modes" section of Chapter 1 for more information on Physical Tab Expansion mode. * Do you want the editor to start in Tabs Out mode (Y/N)? [N] : Determines whether Tabs Out mode is initially ON or OFF each time the editor is executed. Set this option to if you want Tabs Out mode to be ON each time the editor is started; otherwise, set it to . Refer to the "Modes" section of Chapter 1 for more information on Tabs Out mode. * Default physical tab width [1..12] [8]: Specifies the tab width that the editor uses when Physical Tab Expansion mode or Tabs Out mode is ON. * Default cursor tab width [1..12] [8]: Specifies the tab width that the editor uses the TabRt and TabLt commands are executed. * Default file extension number 1 for default tabs [.c]: Physical tab width for above [4]: Cursor tab width for above [4]: Specifies the first default file extension for default tabs. See explanation below. * Default file extension number 2 for default tabs [.pas]: Physical tab width for above [2]: Cursor tab width for above [2]: Specifies the second default file extension for default tabs. See explanation below. * Default file extension number 3 for default tabs [.inc]: Physical tab width for above [2]: Cursor tab width for above [2]: Specifies the third default file extension for default tabs. See explanation below. * Default file extension number 4 for default tabs [.asm]: Physical tab width for above [8]: Cursor tab width for above [8]: Specifies the fourth default file extension for default tabs. See explanation below. * Default file extension number 5 for default tabs [.h]: Physical tab width for above [4]: Cursor tab width for above [4]: Specifies the fifth default file extension for default tabs. See explanation below. * Default file extension number 6 for default tabs [.doc]: Physical tab width for above [8]: Cursor tab width for above [8]: Specifies the sixth default file extension for default tabs. See explanation below. The editor allows you to set default physical and cursor tab widths for up to six different file extensions. When a file is loaded that matches one of these extensions, the indicated defaults are used. Otherwise, the defaults set in the previous two default tab options are used. For each of the six options, enter the desired file extension and the appropriate physical and cursor tab width values. * Default tab type: 0=Fixed, 1=Smart, 2=Variable [0] : Determines the tab type to use each time the editor is executed. Select <0>, <1>, or <2>, for Fixed, Smart, or Variable Tabs, respectively. Refer to the "Modes" section of Chapter 1 for more information on the behavior of each tab type. * Default Variable Tab stop columns: [4 8 16 24 40] : Specifies the columns at which Variable Tab stops are to be set. Enter the appropriate column numbers, each separated by a single space. The last column at which you can set a Tab is column 255. A maximum string of 255 characters can be specified. If you press without entering any tabs stops, you are prompted with: Delete all Variable Tab stops (Y/N)? [N] : Select to remove all existing Variable Tab stops. Select to leave the tab stops unchanged. CHAPTER 3. COMMAND REFERENCE ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ This chapter contains a description of each of the editor commands. Where applicable, the default key assignments are provided. Additionally, sequences are given for those commands that can be accessed through the pull-down menus. To assign commands which do not have a default assignment or to change existing key assignments, refer to the "Keyboard Configuration" section of Chapter 2 for instructions. AddLine or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Adds a blank line after the cursor line, placing the cursor on the newly created line. The cursor column does not change. Align ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Aligns the text on the cursor line with the text on the line immediately before the cursor line and then positions the cursor on the next line. The cursor column does not change. If the cursor is on line one, or the previous line is blank, or the cursor line is blank, this command simply moves the cursor to the next line. Align searches backward up to 100 lines for a line containing text to align with. AltWordSet ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Instructs the editor to recognize an expanded set of characters as "word" characters. The default word set contains the following characters: 0 through 9, upper and lower case A through Z, and the underline character. The AltWordSet command causes additional characters to be considered "word" characters. These additional characters are: ! # $ % & ` ' ( ) - . / \ @ { } ~ : ^ The AltWordSet command affects the operation of these commands: DelLtWord MarkWord DelRtWord *RepeatFind *Find SwapWords *FindReplace WordLeft isWord WordRight * These commands are affected if the "W" (word) search option is selected. The default word set can be re-installed by executing the DefaultWordSet command. AppendScrBuff ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Appends the currently marked Block to the end of the named Scratch Buffer. The existing contents of the named Scratch Buffer are not lost. If the named Scratch Buffer does not exist, a new Scratch Buffer is created. AsciiChart ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Displays a scrollable ASCII chart on the screen. Press to have the selected character inserted into the text at the current cursor position. Press to remove the ASCII chart from the screen without placing a character into the text. When the ASCII chart is initially displayed, the cursor bar is located on the entry that corresponds to the character at the cursor position in the text; or on the first item in the ASCII chart (the null character), if the cursor is positioned beyond the end of the line. Backspace ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If Insert mode is ON: Deletes the character to the left of the cursor. The text to the right of, and including the cursor position, shifts left one position. If the cursor is in column one, the cursor line is appended to the end of the preceding line. If Insert mode is OFF: Deletes the character to the left of the cursor. The text to the right of the cursor does NOT close in or shift. If the cursor is in column one, the cursor line is still appended to the end of the previous line. BegFile ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at column one on the first line of the current file. (If you are in the process of marking a Block using the MarkColumn command, the cursor column position does not change when you execute BegFile.) BegLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at column one of the current cursor line. BegScreen ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the top line of the current window. The cursor column does not change. CenterLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Centers the current cursor line based on column 1 and the right margin. Use the SetRmargin command to change the right margin. With the cursor inside of a line Block, you can execute this command to center several lines at once. With the cursor inside of a column Block, you can center lines based on the left and right Block boundaries. ChangeFilename or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Changes the name of the current file. The editor prompts for the new name. If the file already exists, you are given the opportunity to rename the file. The current file is marked as being a changed file. (An asterisk appears on the StatusLine preceding the filename.) Note that the file is not written (or overwritten) to disk until the renamed file is saved. CloseWindow or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Closes the current window, unless it is the only window which is open, in which case the command has no effect. Copy ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Copies the marked Block into the Scrap Buffer. The Block is then unmarked. If no Block is marked, the cursor line is copied into the Scrap Buffer. The copying of the cursor line, when a Block is not marked, is configurable. Refer to the "Advanced Options" section of Chapter 2 for more information. CopyBlock or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Copies the marked Block to the cursor position. If the Block is a character Block (created using the DropAnchor, MarkCharacter, or MarkBlockBegin/End commands) or a column Block (created using the MarkColumn command), the Block is inserted into the text beginning at the current cursor position. If the Block is a line Block (created using the MarkLine command), it is inserted before or after the current cursor line, depending on the configuration setting, "Insert line blocks ABOVE the cursor line" (refer to the "General Options" section of Chapter 2). The Block remains marked. Blocks may be copied from one file to another. CopyOverBlock ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Copies the currently marked column Block to the current cursor position by overlaying existing text and without shifting text to the right. This command only works with column Blocks. The Block remains marked. Blocks may be "copied over" from one file to another. CurrentFilename ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Returns the name of the currently edited file, as if it had been typed at the keyboard. This command is useful for manipulation of files from within macros. CursorDown ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Moves the cursor downward in the file to the next line. CursorLeft ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Moves the cursor one character to the left. When the cursor reaches the left edge of the screen, it stops, unless the text has been scrolled left, in which case the text scrolls right one position. CursorRight ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Moves the cursor one character to the right. When the cursor reaches the right edge of the screen, the text starts scrolling left until the cursor reaches the maximum line length. CursorUp ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Moves the cursor upward in the file to the previous line. Cut ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Copies the marked Block into the Scrap Buffer. The Block is then deleted from the file being edited. If no Block is marked, the cursor line is cut into the Scrap Buffer. The cutting of the cursor line, when a Block is not marked, is configurable. Refer to the "Advanced Options" section of Chapter 2 for more information. DefaultWordSet ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Re-installs the default word set. Refer to the AltWordSet command for more information about word sets. DelCh ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Deletes the character at the current cursor position. The text on the line to the right of the cursor shifts left one position. If the cursor position is past the last character on the line, the next line is appended to the cursor line. The "joining" of the next line when the cursor is past the last character on the line is configurable. Refer to the "General Options" section of Chapter 2 for more information. DeleteBlock or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Deletes the currently marked Block. If there is not a Block marked in the current file, this command has no effect. DelLine or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Deletes the cursor line. The line following the cursor line becomes the new cursor line. DelLtWord ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Deletes the "word" to the left of the cursor. If the cursor is in column one, the cursor line is appended to the end of the preceding line. DelRtWord ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Deletes the "word" to the right of the cursor. If the cursor position is past the last character on the line, the next line is appended to the cursor line. DelScrBuff ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Deletes the requested Scratch Buffer. The editor prompts for the name of the Scratch Buffer to be deleted. Press on a blank entry to bring up a list of all named Scratch Buffers. The appropriate buffer can be selected from this list by moving the cursor to an entry and pressing . DelToEol or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Deletes text on the cursor line, from the cursor position to the end of line. DirTree ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Displays a pick list of all the drives on your system, along with a directory tree for the current drive. The current drive or directory can be changed from this pick list. To switch to a different directory, move the cursor bar to the desired entry, and press . To change to a different drive, move the cursor bar to the desired drive, and press . The selected drive becomes the current drive, and the directory tree for that drive is displayed in the pick list. Following is an example of a directory tree pick list: ÚÄÄÄÄÄÄÄÄ Dir Tree ÄÄÄÄÄÄÄÄÄ¿ ³ A: ³ ³ B: ³ ³ C: ³ ³ D: ³ ³ ÃÄÄÄTSEJR ³ ³ ³ ÃÄÄÄMAC ³ ³±±±³±±±ÃÄÄÄDOC±±±±±±±±±±±±±³ ³ ³ ÀÄÄÄSPELL ³ ³ ³ ÃÄÄÄTEMP ³ ³ ³ ÀÄÄÄWORD ³ ³ ÀÄÄÄTSEPRO ³ ³ ÃÄÄÄDOC ³ ³ ÀÄÄÄMAC ³ ³ E: ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Dos ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor prompts for a command, which is passed to DOS for execution. After the command is executed by DOS, control is returned to the editor. If you want to execute a series of commands in DOS, you should use the Shell command, described later in this chapter. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ You should NOT execute any TSR (terminate and stay ³ ³ resident) programs from the editor's Dos command. This ³ ³ includes the DOS print and graph commands, and ³ ³ memory-resident programs such as Sidekick and Superkey. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DropAnchor ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is used to mark a character Block. Initially executing this command marks one end of a Block at the cursor position. As the cursor is moved, the Block "grows" with it. Executing this command again marks the other end of the Block at the cursor position. If DropAnchor is executed in a file that already contains a character Block, the Block is extended to the current cursor position. DupLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Makes a copy of the current cursor line and inserts the copy immediately following the cursor line. The cursor is moved to the new line. EditFile or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor prompts for the name(s) of the additional file(s) to be edited. Wildcard characters (* or ?) are permissible, as are multiple filenames. The editor does not load multiple copies of the same file. If you issue the EditFile command using the name of a file that has already been loaded, the editor makes that file the current file. The option "Load wildcarded filespecs from inside the editor" has an effect on the behavior of this command when wildcard characters are included. (Refer to the "General Options" section of Chapter 2.) EndFile ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor on the last line of the file immediately following the last non-blank character. If the last line of the file is blank, the cursor is positioned in column one. (If you are in the process of marking a Block using the MarkColumn command, the cursor column position does not change when you execute EndFile.) EndLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor immediately following the last non-blank character on the cursor line. EndPara ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor immediately following the last nonblank character of the current paragraph. EndScreen ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The cursor is positioned on the last line of the current window. The cursor column does not change. Escape ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If executed while editing, the pull-down menus are displayed. Otherwise, this command terminates any editor prompt. ExecuteScrap or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Plays back the latest macro that was created using the MacroRecord command. Exit ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Conditionally discards the current file. If the file has not been modified, the file is discarded without prompting. If the file has been modified, the editor prompts with: Ú Save Changes? Ä¿ ³±Yes±±±±±±±±±±±±³ ³ No ³ ³ Cancel ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Press to save and then discard the file. Press to discard the file without saving any changes. Press or to halt the command and return control back to the editor, without saving or quitting the file. The editor can be configured, when only a single file is being edited and the Exit command is issued, to either terminate or prompt for another file to edit. Refer to the "General Options" section of Chapter 2 for more information. File or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Saves and then discards the current file. The editor can be configured, when only a single file is being edited and the File command is issued, to either terminate or prompt for another file to edit. Refer to the "General Options" section of Chapter 2 for more information. FillBlock or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Fills an entire marked Block with any ASCII character. You are prompted to enter the desired character. FillBlock is recommended for use with column and word Blocks only. When used with line or character Blocks, the indicated character fills the Block out to the maximum length of the line. Find or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Searches for a specified string of characters within the current file. The User is prompted for a search string and search options. Available search options are: [B] Search backwards from the current cursor position. [G] Global search. Begin searching from the beginning of the file (or Block, if the [L] option is also selected). [L] Local search. Limit the search to the marked Block. [I] Ignore the case of the search string. [W] Search for whole words only. [^] Anchor the search string to the beginning of the line (or Block, if the [L] option is also selected). [$] Anchor the search string to the end of the line (or Block, if the [L] option is also selected). FindReplace or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Searches and replaces strings within the current file. The User is prompted for a search string, a replace string, and options. Available search options are: [B] Search backwards from the current cursor position. [G] Global search and replace. Begin searching from the beginning of the file (or Block, if the [L] option is also selected). [L] Local search and replace. Limit the search to the marked Block. [I] Ignore the case of the search string. [W] Search for whole words only. [^] Anchor the search string to the beginning of the line (or Block, if the [L] option is also selected). [$] Anchor the search string to the end of the line (or Block, if the [L] option is also selected). [N] Find and replace with NO prompting. [#] Replace the indicated number of times (where "#" is an actual number). At every occurrence of the search string in the file, the User is given the following replace options (unless the [N] or [#] serach option is specified): [Y] Replace the search string with the replace string and continue on to the next occurrence of the search string. [N] Do not make any changes but continue on to the next occurrence of the search string. [O] Replace the search string with the replace string and then terminate the FindReplace process. [R] Replace the search string with the replace string for this and the rest of the occurrences throughout the file without any further prompting. [Q] Terminate the FindReplace process. You can press to halt a global FindReplace. FirstNonWhite ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Intended as a replacement and/or supplement to the BegLine command. Places the cursor at the first non-white character on the line, or column 1 if the line does not have any non-white characters. "White" characters are tabs or spaces. A useful macro would be: Home BegLine MacroQuitTrue FirstNonWhite (Explanation: If already at the beginning of a line, go to the first non-white character on the line; otherwise, go to the beginning of the line.) Flip ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reverses the case (upper to lower and lower to upper) of all characters in a marked Block. The cursor must be within the marked Block. If the cursor is outside of the marked Block or if no Block is marked, the case of the character at the current cursor position is reversed. GetPrev ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Duplicates the character immediately above the cursor at the cursor position. GetScrBuff ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Inserts the contents of the named Scratch Buffer at the cursor position. Refer to the "Block Commands" section of Chapter 1 for more information. GExit or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Issues the Exit command for all files that have been loaded. If no files have been modified, this command immediately terminates the editor and returns control to DOS. If any files have been modified, you are prompted with the following menu for each modified file: Ú Save Changes? Ä¿ ³±Yes±±±±±±±±±±±±³ ³ No ³ ³ Cancel ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Press to save and then discard the file. Press to discard the file without saving any changes. Press or to halt the command and return control back to the editor, without saving or quitting the file. For example, if you have ten files loaded and two of them have been modified, then you are prompted to save changes twice, once for each modified file. GFile or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Instructs the editor to discard all files that have been loaded. Any files that have been modified are unconditionally saved. If no files have been changed, this command immediately terminates the editor and returns control to DOS. GotoBlockBeg ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the beginning of the currently marked Block. If the Block is in a file other than the current file, the file containing the Block becomes the new current file. GotoBlockEnd ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the end of the currently marked Block. If the Block is in a file other than the current file, the file containing the Block becomes the new current file. GotoColumn ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the requested column. The editor prompts for the desired column number. GotoFirstLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor on the beginning line of the current file. The column position is not changed. GotoLastLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor on the last line of the current file. The column position is not changed. GotoLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the requested line. The editor prompts for the desired line number. GPQuit or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Issues the PQuit command for all files that have been loaded. GrowWindow or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Changes the size of the current window, if there are multiple windows on the screen. GSave ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Issues the SaveFile command for all files that have been modified. HalfPgDn ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text toward the end of the file one-half page. HalfPgUp ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text toward the beginning of the file one-half page. HorizontalWindow or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Splits the screen or current window horizontally, creating a new window. IncrementalSearch or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Searches incrementally for a string. As you type characters of a search string, a case-insensitive, forward search immediately begins, based on the characters currently in the search string. Within the IncrementalSearch prompt, the following keys are operational: or Terminates IncrementalSearch operation. Removes the last character from the current IncrementalSearch string. The editor re-locates the previous string. Searches forward for the next occurrence of the current IncrementalSearch string. Searches backward for the previous occurrence of the current IncrementalSearch string. Searches forward from the beginning of the file for the first occurrence of the current IncrementalSearch string. InsertDate ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Inserts the system date at the current cursor position. InsertLine or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Inserts a blank line above the cursor line and positions the cursor on the newly created line. The cursor column does not change. InsertTime ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Inserts the system time at the current cursor position. isBegLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Returns TRUE if the cursor is at column 1; otherwise, FALSE is returned. isCurrChar ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Used to set a conditional branch based on the value of the character at the cursor position. The format is: isCurrChar char Where "char" is the character in literal format (surrounded by quotes, either single or double) or in ASCII value format, preceded by a pound sign (#). Examples: isCurrChar 'a' JTrue found: isCurrChar #97 JTrue found: Both of these examples jump to the label "found" if the current character is "a". isCursorInBlock ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Returns TRUE if the cursor is inside a marked Block; otherwise, FALSE is returned. isEmptyLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Returns TRUE if the current line is empty or contains only white space; otherwise, FALSE is returned. isEndLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Returns TRUE if the cursor is past the last non-white character on the current line; otherwise, FALSE is returned, including the case when the cursor is on an empty line. isFirstLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Returns TRUE if the cursor is on the first line of the currently edited file; otherwise, FALSE is returned. isLastLine ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Returns TRUE if the cursor is on the last line of the currently edited file; otherwise, FALSE is returned. isWord ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Returns TRUE if the cursor is on a character included in the current word set; otherwise, FALSE is returned. JFalse ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. It is used to transfer control to the named label, if the previous command returned FALSE. JoinLine or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Joins the line below the cursor line to the end of the cursor line. If the cursor is past the end of the line, then the line is joined at the cursor position. JTrue ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. It is used to transfer control to the named label, if the previous command returned TRUE. Jump ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. It is used to unconditionally transfer control to the named label. KillFile ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Erases the currently edited file from disk. The file remains loaded in the editor and is marked as being a changed file. (An asterisk appears on the StatusLine preceding the filename.) This command is very useful when available disk space is low. LineDown ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text one line at a time toward the end of the file. The cursor remains stationary on the screen. LineUp ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text one line at a time toward the beginning of the file. The cursor remains stationary on the screen. ListFiles ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Displays a list of the currently loaded files. To switch to another file, move the cursor to the appropriate file and press . To keep editing the current file, press . Literal ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Causes the editor to literally interpret the keystroke that is entered immediately following this command. It is used to insert control characters into the currently edited file. For example, to insert the ASCII formfeed character (ASCII 12), you would first press then . To insert a "null" character into the file, press and then . (Note: The "2" must be the "2" key on the alphanumeric keyboard, NOT the key on the numeric keypad.) Refer to the "Adding Text" section of Chapter 1 for more information. LocateFile ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Searches an entire drive for a specified filename. A list of all matching filenames is displayed, allowing the user to select the appropriate file to edit. This command prompts for the filename for which to search. A complete name or an ambiguous name (with DOS wildcard characters) can be specified. By default, the current drive is searched. However, a different drive can be searched by prefacing the filename with the drive name (such as, d:foo). The default or specified drive is searched, and all matching filenames are displayed in a pick list. To select the desired file to edit, position the cursor bar on that filename in the pick list, and press . To remove the pick list, press . This command is also available in a "File(s) to edit:" prompt. Lower ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Changes all characters in a marked Block to lower case. The cursor must be within the marked Block. If the cursor is outside of the marked Block or if no Block is marked, the character at the current cursor position is changed to lower case. MacroQuit ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. It is used to immediately terminate a macro, thus saving a "jump past the end of the macro". MacroQuitFalse ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. It is used to immediately terminate a macro, if the previous command returned FALSE, thus saving a "jump past the end of the macro on FALSE". MacroQuitTrue ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. It is used to immediately terminate a macro, if the previous command returned TRUE, thus saving a "jump past the end of the macro on TRUE". MacroRead ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Loads the named macro file, with all macros contained therein, from disk into the editor's internal macro buffer. The macros are assigned to the keys exactly as they were originally recorded and saved. The editor prompts the user for the name of the file. MacroRecord or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) macro recording. If macro recording is OFF, this turns macro recording ON and prompts for a key to which to assign the macro. After pressing the desired key, all following keystrokes are recorded until the MacroRecord key is pressed again. After the macro has been recorded, it can be played back by pressing the key to which the macro was assigned. Instead of assigning a macro to a specific key, it can be assigned to a "scrap" or temporary area by simple pressing at the prompt. A macro assigned to the scrap area may be played back by entering the ExecuteScrap command. The scrap area is updated each time the MacroRecord command is executed. MacroWrite ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Saves all currently defined macros to a binary disk file. The editor prompts for the name of the file. MainMenu ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Activates the pull-down menu system. Many of the editor's commands can be executed via the menus. MakeBotofScreen ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text in the window so that the cursor line becomes the bottom line of the window. MakeCtrofScreen ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text in the window so that the cursor line becomes the center line of the window. MakeTopofScreen ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text in the window so that the cursor line becomes the top line of the window. MarkBlockBegin or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Marks the beginning of a character Block. The Block is not shown until the MarkBlockEnd command is executed at some position beyond the beginning position of the Block. For an alternate method of marking character Blocks, refer to the DropAnchor and MarkCharacter commands. MarkBlockEnd or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Marks the end of a character Block. The Block is not shown until the MarkBlockBegin command is also executed at some position before the end of the Block. For an alternate method of marking character Blocks, refer to the DropAnchor and MarkCharacter commands. MarkCharacter ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is used to mark a character Block. It is similar to the DropAnchor command except the cursor position is NOT included as part of the Block. This command is provided as a replacement for the DropAnchor command. If you want the cursor position included in character Blocks, then continue to use DropAnchor; otherwise, replace the DropAnchor command with this command. Note that the editor uses the MarkCharacter command to provide a set of CUA-style Block-marking keys (using the shifted cursor keys). Refer to "CUA-Style Block Marking" in Chapter 1. MarkColumn ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is used to mark a column Block. Initially executing this command marks the current cursor position. As the cursor is moved, the Block "grows". Executing this command again marks the other end of the Block at the current cursor position. If MarkColumn is executed in a file that already contains a Block, the Block is extended to the current cursor position. MarkLine or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is used to mark a line Block. Initially executing this command marks the current cursor line. As the cursor is moved, the Block "grows" with it, line by line. Executing this command again marks the other end of the Block at the current cursor line. If MarkLine is executed in a file that already contains a Block, the Block is extended to the current cursor line. MarkWord ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is used to mark a word Block. Executing this command marks the word at the current cursor position. If there is no word at the current cursor position, then no action is taken. Match ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Finds the corresponding "(", ")", "{", "}", "[", "]", "<", ">" character. This command is primarily intended for programming languages in which complicated expressions are grouped with one or more of these characters. This command is very useful for finding unmatched parentheses. MaximizeWindow or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Makes the current window as large as possible by making all other windows as small as possible. MouseMenu ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Pops up a menu of Block-related commands. This command provides access to a list of Block-related commands for easy selection using a mouse. When invoked, a menu similar to the following is displayed: ÚÄÄÄÄÄÄÄÄ Mouse Menu ÄÄÄÄÄÄÄÄ¿ ³±Cut±±±±±±±±±±±±±±±±±±±±±±±±±±³ ³ Copy ³ ³ Paste ³ ³ Paste Over ³ ³ UnMark ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Copy to Windows Clipboard ³ ³ Paste from Windows Clipboard ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Copy Block ³ ³ Copy Over Block ³ ³ Move Block ³ ³ Delete Block ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Fill Block ³ ³ Sort ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Upper ³ ³ Lower ³ ³ Flip ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If the mouse is not used, this menu can still be accessed by assigning this command to a key. MoveBlock or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Moves (copies and deletes) the currently marked Block to the cursor position. If the Block is a character Block (created using the DropAnchor, MarkCharacter, or MarkBlockBegin/End commands) or a column Block (created using the MarkColumn command), the Block is inserted into the text beginning at the current cursor position. If the Block is a line Block (created using the MarkLine command), it is inserted before or after the current cursor line, depending on the configuration setting, "Insert line blocks ABOVE the cursor line" (refer to the "General Options" section of Chapter 2). The Block remains marked. Blocks may be moved from one file to another. NewFile ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Executes the Exit command followed by the EditFile command. Refer to the Exit and EditFile commands in this chapter for more information. NextEqualIndent ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Moves the cursor to the next line whose text starts in the same column as the current line. If the current line is blank, moves to the next blank line. NextFile or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Makes the next file in the ring the new current file when multiple files are loaded. NextPara ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor on the first character of the next paragraph. NextWindow or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Makes the window below the current window the new current window. If the current window is at the bottom of the screen, the top window on the screen becomes the current window. OneWindow or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Closes all windows except the current window and expands it to occupy the entire screen. PageDown ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text toward the end of the file, one page-full less one line, at a time. PageUp ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text toward the top of the file, one page-full less one line, at a time. Paste ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Inserts the contents of the Scrap Buffer at the cursor position. The Scrap Buffer is loaded using the Cut or Copy commands. If the Scrap Buffer contains a character or column Block, it is inserted at the cursor position. If the Scrap Buffer contains a line Block, it is inserted before or after the cursor line depending on the configuration setting, "Insert line blocks ABOVE the cursor line". (Refer to the "General Options" section of Chapter 2.) Paste is also available within prompt boxes. PasteOver ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This is a Paste command for column Blocks. It takes a column Block which has been loaded into the Scrap Buffer using the Cut or Copy commands, and places the contents at the current cursor position by overlaying existing text, without shifting text to the right. Pause ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Temporarily suspends execution of a macro until either or is pressed. Refer to "Macro Pause" in the file MACRO.DOC. PQuit or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command initiates a protected quit. If the current file has not been modified, it is discarded. If the current file has been modified, the following prompt is issued: Ú Lose Changes? Ä¿ ³±Yes±±±±±±±±±±±±³ ³ No ³ ³ Cancel ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Press to quit the current file. Press , , or to cancel the command, without discarding the current file. If multiple files are being edited, this command makes the previous file in the ring the new current file. The editor can be configured, when only a single file is being edited and the PQuit command is issued, to either terminate or prompt for another file to edit. Refer to the "General Options" section of Chapter 2 for more information. PrevEqualIndent ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Moves the cursor to the previous line whose text starts in the same column as the current line. If the current line is blank, moves to the previous blank line. PrevFile or

or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Makes the previous file in the ring the new current file when multiple files are loaded. PrevPara ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor on the first character of the previous paragraph. PrevPosition ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the previous cursor position. Very helpful when used with the GotoLine command. The GotoLine command can be used to go directly to a certain line of the file. The PrevPosition can then be used to return you to the previous cursor position. PrevWindow or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Makes the window above the current window the new current window. If the current window is at the top of the screen, the bottom window on the screen becomes the current window. PrintAll or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Prints the entire contents of the current file. PrintBlock or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Prints the entire contents of the marked Block. The marked Block must be in the current file. PrintEject or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sends a formfeed character (ASCII 12) to the printer. QuickHelp or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Displays the Help Screen. A default Help Screen is provided with the editor; however, you may wish to design your own Help Screen. For more information, refer to "The Help Screen" section of Chapter 2. Quit ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Unconditional quit. The current file is discarded regardless of any changes made to it. This command is for those who do not like software that "nags" you. USE WITH CAUTION! ReadBlock or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Inserts the named disk file at the current cursor position. RepeatCmd ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Repeats the last character, command, or macro entered from the keyboard up to 9,999 times. You are prompted for the number of times to repeat. Repeating automatically terminates when any command fails. For example, if you are repeating a search and get a "Not Found", repeating then stops. You can also press at any time from the keyboard to cancel repeating. RepeatFind or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Repeats the previous search (Find, FindReplace, IncrementalSearch) command. ResizeWindow or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Changes the size of the current window, if there are multiple windows on the screen. RestoreSettings ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Restores settings saved by the SaveSettings command. Return ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The Return command behaves differently depending on Insert mode and AutoIndent mode. If Insert mode is OFF, the cursor is positioned at the first column of the next line. If Insert mode is ON, the current cursor line is split at the cursor position and any text to the right of and including the cursor position is placed on a new line following the current line. If the cursor is past the last character on the line, then a blank line is added following the current line. The cursor is then moved to the first column of the new line. If AutoIndent is ON, spaces are inserted ahead of the cursor position to align it with the text on the previous line. If AutoIndent is OFF, the text is moved to the beginning of the next line. The Return command can be configured to split or not split lines when Insert mode is ON. Refer to the "Advanced Options" section of Chapter 2 for more information. SaveFile or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Saves to disk the file currently being edited. The file remains loaded, ready for further editing. SaveSettings ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Saves the current settings of: Insert, AutoIndent, WordWrap, Sound, and Screen Updating. See RestoreSettings. ScreenLeft ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Shifts the screen to the left, the number of columns specified in the configuration program. Refer to the "Colors/Screen Options" section of Chapter 2 for more information. ScreenRight ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Shifts the screen to the Right, the number of columns specified in the configuration program. Refer to the "Colors/Screen Options" section of Chapter 2 for more information. ScrollDown ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text one line at a time toward the end of the file. The cursor remains on the same line of text until it reaches the top of the screen. ScrollUp ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Scrolls the text one line at a time toward the beginning of the file. The cursor remains on the same line of text until it reaches the bottom of the screen. SetAutoIndentMode ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets AutoIndent mode ON. To set AutoIndent mode OFF, do the following: SetAutoIndentMode ToggleIndent SetBakups ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Enables the automatic creation of file backups, which causes the editor to create a backup file using the ".bak" file extension whenever a modified file is saved. (Refer to ToggleBakups for more information.) SetBoxDraw ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Enables Box Drawing mode. The letter "B" appears on the StatusLine when this mode is ON. (Refer to ToggleBoxDraw for more information.) SetCenterFinds ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Enables Find centering, which causes the Find and FindReplace commands to center the found text vertically in the window. (Refer to ToggleCenterFinds for more information.) SetCtabwidth ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sets the cursor tab width. This is the width that is used when the TabRt or TabLt commands are executed and Fixed Tabs mode is in effect. SetCUAMarking ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Enables CUA-Style Block Marking mode, which defines shifted cursor keys to be used to mark Blocks. (Refer to ToggleCUAMarking for more information.) SetEGA25 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Switches a monitor with an EGA or VGA card to 25-line mode. This command has no effect if the video card is not an EGA or VGA type. SetEGA43 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Switches a monitor with an EGA card to 43-line mode, or a monitor with a VGA card to 50-line mode. This command has no effect if the video card is not an EGA or VGA type. SetEnterMatching ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets EnterMatching mode ON. (Refer to ToggleEnterMatching for more information.) SetInsMode ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets Insert mode ON. To set Insert mode OFF (that is, set overwrite mode ON), do the following: SetInsMode ToggleInsert SetPrintAddFF ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Enables the automatic sending of a formfeed character to the printer when each print operation is complete (after the last printed page). (Refer to TogglePrintAddFF for more information.) SetPrintBotMargin or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sets the number of lines that are left blank at the bottom of each page during printing. SetPrintDevice or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Allows the setting of the default print device. Choices include PRN, LPT1 through LPT3, or any valid filename. When executed, the following menu is displayed: Ú Print Device Ä¿ ³±PRN±±±±±±±±±±±³ ³ LPT1 ³ ³ LPT2 ³ ³ LPT3 ³ ³ Disk File... ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ SetPrintLeftMargin or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sets the number of spaces that are printed as a left margin at the beginning of each line. The default is zero. SetPrintLineSpacing or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Allows the setting of the print line spacing, up to a value of 200. When executed, the following prompt is displayed: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Printer line spacing [1=single, 2=double, etc.]: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ SetPrintPageSize

or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sets the number of lines to be printed per page before sending a formfeed. A value of zero allows continuous printing (no formfeeds sent). SetPrintTopMargin or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sets the number of lines that are left blank at the top of each page during printing. SetPtabwidth

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sets the Physical Tab Width. This determines the width to which physical tab characters found in files are expanded if Physical Tab Expansion is set ON. It also determines the number of spaces to be used for Tabs Out mode. Refer to the ToggleTabsExpand and ToggleTabsOut commands in this chapter for more information. SetRmargin or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sets the right margin for word-wrap and paragraph reformatting. WordWrap mode is automatically switched ON whenever the right margin is set using this command. SetScreenOff ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Turns screen updating OFF. You must turn screen updating back ON before your macro prompts for input, or if there is some output from the macro that you want displayed on the screen. Note: The editor AUTOMATICALLY turns screen updating back ON when the macro is finished executing. Thus, it is not necessary to issue the SetScreenOn command at the end of the macro. SetScreenOn ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Turns screen updating ON (see SetScreenOff). SetSortCaseInsensitive ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets the sorting operation to case-insensitive. (Refer to ToggleSortCaseInsensitive for more information.) SetSortDescending ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets the sorting operation to descending order. (Refer to ToggleSortDescending for more information.) SetSoundOff ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Disables the tone sounded by the editor on failed searches. SetSoundOn ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Enables the tone sounded by the editor on failed searches. SetSwap ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Enables swapping to expanded memory or disk when the Shell and Dos commands are executed. (Refer to ToggleSwap for more information.) SetSyncScroll ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets Synchronized Scrolling mode ON. (Refer to ToggleSyncScroll for more information.) SetTabsExpand ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets Physical Tab Expansion mode ON. (Refer to ToggleTabsExpand for more information.) SetTabsOut ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets Tabs Out mode ON. (Refer to ToggleTabsOut for more information.) SetTabType ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Determines the behavior of the tab key based on the tab type selected. Choices are Fixed, Smart, and Variable. (Refer to the "Modes" section of Chapter 1.) When executed, the following menu is displayed: ÚÄÄ Tab Type ÄÄÄ¿ ³±Fixed±±±±±±±±±³ ³ Smart ³ ³ Variable ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ SetVarTabStops ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Allows the setting of the tab stops used when Variable tab type is selected. SetVGA28 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Switches a monitor with a VGA card to 28-line mode. This command has no effect if the video card is not a VGA type. SetWordWrapMode ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command is intended for use only within macros. Sets WordWrap mode ON. To set WordWrap mode OFF, do the following: SetWordWrapMode ToggleWordWrap Shell or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Invokes a DOS shell. While in the shell, you can execute DOS and other commands. When you are ready to leave the shell, type "exit" and press . This places you back in the editor, exactly where you left off. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tip: ³ ³ You should NOT execute any TSR (terminate and stay ³ ³ resident) programs from the editor's Shell command. This ³ ³ includes the DOS print and graph commands, and ³ ³ memory-resident programs such as Sidekick and Superkey. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ShiftLeft ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Shifts the contents of the currently marked Block (or the cursor line, if the cursor is not in a marked Block) one position to the left. If, when you issue this command, the leftmost character on a line being shifted is in the first column of the Block, that character is deleted to allow the remainder of the line to shift left one position. ShiftRight ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Shifts the contents of the currently marked Block (or the cursor line, if the cursor does not reside in a marked Block) one position to the right. If, when you issue this command, the rightmost character on a line being shifted is in the last column of the Block, that character is deleted to allow the remainder of the line to shift right one position. ShowEntryScreen ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Displays the original DOS screen as it appeared upon initial execution of the editor. Press any key to return to the edit screen. To use this command, the option "Do you want the original screen restored upon termination (Y/N)?" must be set to "Y" (the default setting). This option is set via the QCONFIG program, under "Colors/screen." ShrinkWindow or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Changes the size of the current window, if there are multiple windows on the screen. Sort ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Sorts a range of lines. The sort key is determined by a marked column Block. The lines spanned by the column Block determines the range of lines to be sorted. For more information about column Blocks, refer to the MarkColumn command in this chapter. Whether the lines are sorted in ascending or descending order is determined by the ToggleSortDescending command. Ignoring or respecting differences in case is determined by the ToggleSortCaseInSensitive command. (The initial state of both of these toggles can be set via the configuration program. Refer to the "General Options" section of Chapter 2.) Note: The Sort command can only be used with a single, nonzoomed window on the screen. SpacesToTabs ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Compresses occurrences of multiple spaces to tabs, where appropriate. Spaces within quotes (single and double) are not compressed. If the cursor is within a marked Block when this command is executed, only spaces within the Block are compressed; otherwise, this common operates on the entire file. SplitLine or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Splits the current cursor line at the cursor position. Any text to the right of and including the cursor position is placed on a new line following the current line. If the cursor is past the last character on the line, then a blank line is added following the current line. The cursor position does not change. StoreScrBuff ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Copies the currently marked Block to the named Scratch Buffer. The editor prompts for the name of the Scratch Buffer. The contents of all Scratch Buffers are lost when the editor is terminated. SwapChars ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Swaps the character at the cursor position with the character preceding the cursor. The cursor column position does not change. If, when this command is executed, the cursor is in column 1, or is positioned beyond the last non-blank character of the line, then no action occurs. SwapLines or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Swaps the current line with the line immediately following it. The cursor does not change its position relative to the screen. If the cursor is on the last line of the file when this command is executed, then no action occurs. SwapWords ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Swaps the word in which the cursor is positioned with the previous word on the current line. Any "non-word" characters between the affected words are preserved. If, when this command is executed, the cursor is not positioned on a character within a word, or if there is no previous word on the current line, then no action occurs. TabLt ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the previous tab position, as defined by the tab width. If Insert mode is ON, the text to the right, including the character at the cursor position, shifts left. The editor can be configured so that if Insert mode is ON, AND the cursor is inside a marked Block, the entire Block shifts left by the current cursor tab width. For more information on this option, refer to the "Advanced Options" section of Chapter 2. TabRt ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the next tab position, as defined by the cursor tab width. If Insert mode is ON, the text to the right, including the character at the cursor position, shifts right. The editor can be configured so that if Insert mode is ON, AND the cursor is inside a marked Block, the entire Block shifts right by the current cursor tab width. For more information on this option, refer to the "Advanced Options" section of Chapter 2. TabsToSpaces ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Expands tab characters to the appropriate number of spaces. Tabs within quotes (single and double) are not expanded. If the cursor is within a marked Block when this command is executed, only tabs within the Block are expanded; otherwise, this command operates on the entire file. ToggleBakups ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) file backups. If ON, the editor creates a backup file using the ".bak" file extension whenever a modified file is saved. ToggleBoxDraw ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) Box Drawing mode. If ON, the cursor movement keys (up, down, right, left) "draw" lines in the text, both up/down and right/left. Very useful for creating charts and tables. The letter "B" appears on the StatusLine when this mode is ON. ToggleBoxType ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This command prompts the User to select from different line drawing styles for use with Box Drawing mode. The options are: Single, Double Top, Double Side, Double, and Eraser. When executed, the following menu is displayed: ÚÄÄ Box Style ÄÄ¿ ³±Single±±±±±±±±³ ³ Double Top ³ ³ Double Side ³ ³ Double ³ ³ Eraser ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ToggleCenterFinds ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) Find centering. If ON, this causes the Find, FindReplace, and IncrementalSearch commands to center the found text vertically on the screen. If OFF, the initial row the cursor was on when the command was initiated does not change. ToggleCUAMarking ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) CUA-Style Block Marking mode. If ON, the shifted cursor keys can be used to mark non-inclusive character Blocks. (Refer to "CUA-Style Block Marking" in Chapter 1.) ToggleEGA43 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles an EGA monitor between 25-line and 43-line mode or a VGA monitor between 25-line and 50-line mode. This command has no effect if the video card is not an EGA or VGA type. ToggleEnterMatching ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) EnterMatching mode. If ON, the double quote, parenthesis, square bracket, and curly brace keys all automatically enter the matching right-hand character when the left-hand character is entered. For example, typing the "[" key automatically enters a "]" immediately following. ToggleIndent or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) AutoIndent mode. If ON, the cursor is positioned at the current left margin whenever the key is pressed. The current left margin is determined by the first non-blank character on the immediately preceding line. Paragraph reformatting and word-wrapping also use the current left margin when AutoIndent mode is ON. The letter "A" appears on the StatusLine when this mode is ON. ToggleInsert or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) Insert mode. If ON, text to the right of the cursor on the cursor line is shifted whenever characters, spaces, the Backspace command, the TabLt command, or the TabRt command is entered. Also, executing the Return command causes the current line to split at the cursor position. The letter "I" appears on the StatusLine when this mode is ON. TogglePrintAddFF

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) the automatic sending of a formfeed character to the printer when printing is complete. If ON, the editor automatically sends a final formfeed character when printing is complete (after the last printed page). TogglePrintLineNumbers or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) the printing of line numbers. TogglePrintPause or

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) pausing between pages while printing. If ON, the editor pauses and requires a key press to continue after every page is printed. This is useful with single sheet printers. When OFF, the editor prints continuously without pausing. ToggleShowCurrChar ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) the display of the ASCII and Hexadecimal values of the current character on the StatusLine. When ON, the ASCII and Hex values of the current character are displayed in the far right portion of the StatusLine. If the cursor is past the end of the text on the line, is displayed. ToggleSmartTabs ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) Smart Tabs mode. If ON, the TabRt and TabLt commands place the cursor beneath the beginning of the next (or previous) word on the first nonblank line preceding the current cursor line. ToggleSortCaseInsensitive ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) case-insensitive sorting. When ON, upper and lower case letters are sorted as if they are of the same case. When OFF, upper and lower case letters are sorted strictly by their ASCII value, which places all upper case letters before the lower case letters. ToggleSortDescending ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) descending sorting. When ON, sorting is performed from highest value to lowest value (descending). When OFF, sorting is performed from lowest value to highest value (ascending). ToggleSwap ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) swapping to expanded memory or disk when the Shell and Dos commands are executed. (You can specify a default for swapping, using the configuration program. Refer to the "Advanced Options" section of Chapter 2 for more information.) If ON, the editor swaps itself out of DOS memory and to expanded memory or disk when a shell command is executed. This leaves a small 2K editor kernel in DOS memory, freeing up the rest of DOS memory for running other applications out of the shell such as compilers or spreadsheets. While you are in a shell, the editor maintains a file with a ".SWP" file extension in your root directory. It is very important that you do not delete this file while in the shell. ToggleSyncScroll or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) Synchronized Scrolling mode in each window on the screen (when multiple windows are open). When this mode is ON, the editor attempts to synchronize logical cursor movement and scrolling in all windows, based on cursor movement and scrolling activity in the current window. The letter "S" appears on the StatusLine when this mode is ON. ToggleTabsExpand ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) Physical Tab Expansion mode. If ON, physical tab characters (ASCII 9) found in a file are expanded into spaces according to the Physical Tab Width set in the configuration program. If OFF, physical tabs are displayed on the screen and a physical tab character is placed in the text each time the TabRt command is entered. ToggleTabsOut ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) Tabs Out mode. If ON, continuous spaces in a line of text are replaced with physical tabs (ASCII 9) according to the Physical Tab Width set in the configuration program. Only spaces in edited lines are replaced with physical tabs. Spaces falling between single or double quotes are not replaced. ToggleVarTabs ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) Variable Tabs mode. When ON, tab stops are set to those specified by the SetVarTabStop command, or by the default set by the configuration program. When OFF, tab stops are set to a fixed tab width, as specified by the SetCTabWidth command. ToggleVGA28 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles a VGA monitor between 25-line and 28-line mode. This command has no effect if the video card is not a VGA type. ToggleWordwrap or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles (ON and OFF) WordWrap mode. If ON, the cursor, along with the word currently being typed, automatically advances to the next line whenever a character is typed beyond the right margin. The right margin can be permanently set using the configuration program (refer to the "General Options" section of Chapter 2) or temporarily changed using the SetRmargin command. The letter "W" appears on the StatusLine when this mode is ON. UndoCursorline ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reverses any changes made to the current cursor line (except changes made with the FindReplace command). If the cursor has been moved from the changed line or a file or window command is executed, the changes cannot be undone. UnKill or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Recovers the last deleted entry from the current file's Kill Buffer. Deleted Blocks and lines are inserted immediately before the current cursor line, and deleted words are inserted immediately before the current cursor position. The number of lines saved in the Kill Buffer may be set with the configuration program. Refer to the "General Options" section of Chapter 2 for more information. UnmarkBlock or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Unmarks the currently marked Block. Upper ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Changes all characters in a marked Block to upper case. The cursor must be within the marked Block. If the cursor is outside of the marked Block or if no Block is marked, the character at the current cursor position is changed to upper case. WinClipCopy ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Copies the marked Block into the Microsoft Windows Clipboard. The Block is then unmarked. This command is similar to the Copy command. WinClipPaste ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Inserts the contents of the Microsoft Windows Clipboard into the current file at the cursor position. This command is similar to the Paste command. WordLeft ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the first character of the previous word. WordRight ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Positions the cursor at the first character of the following word. WrapPara ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Reformats text from the current cursor position until a blank line or end of file is encountered. If AutoIndent is ON, the line below the cursor line is used for the left margin. Otherwise, a left margin of zero is used. The right margin is determined by the configuration program (refer to the "General Options" section of Chapter 2), or interactively set by the SetRmargin command. WriteBlock or or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Writes the currently marked Block to the named file. The editor prompts for the name of the file. A Save-As-Filename feature is possible with the WriteBlock command, allowing you to save your current file under a different name. To use this feature, execute the WriteBlock command with no marked Blocks in the file. the editor prompts with: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³File to write: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Enter the new filename. If the filename you specify already exists, the editor prompts with: ÚÄÄÄÄÄÄÄ Choose ÄÄÄÄÄÄÄÄ¿ ³ Overlay Existing File ³ ³ Append to File ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Select the desired option, or press to cancel. If there is a marked Block in the file, the WriteBlock command operates as usual, and writes the currently marked Block to the named file. ZoomWindow or ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Toggles Zoom mode ON and OFF. If there are multiple windows on the screen, entering the ZoomWindow command causes the current window to fill the entire screen. Press ZoomWindow again to restore the other windows to the screen.

This command will swap the current line with the line immediately following it. The cursor does not change its position relative to the screen. * Cut , Paste Refer to the "Block Commands" section in this chapter for a complete explanation of these commands. The commands are included here because, if desired, you can configure the editor so that these commands act on the current cursor line in the same manner in which they act on Blocks. For more information on how to configure this option, refer to the "Advanced Options" section of Chapter 2. * ShiftLeft , ShiftRight Refer to the "Block Commands" section in this chapter for a complete explanation of these commands. The commands are included here because, if there is no marked Block in the text, these commands will act on the current cursor line. Deleting And Undeleting Text * Backspace , DelLtWord If Insert mode is ON, the Backspace command deletes the character to the left of the cursor. The text to the right of the cursor is pulled behind the cursor as it moves to the left. If the cursor is in column one and you enter Backspace, the cursor line is appended to the line immediately above. If Insert mode is OFF, the Backspace command works the same as above except the text to the right of the cursor is not pulled behind the cursor as it moves left. The DelLtWord command is a backspace for "words". It works just like the Backspace command, except that it deletes all characters from the cursor to the beginning of the previous word. * DelCh , DelRtWord DelCh will delete the character at the cursor position and pull the text to the right of the cursor, one column to the left. If the cursor position is to the right of the last non-blank character on the cursor line, the line immediately below will be appended to the cursor line. The DelRtWord command is a character delete for "words". It works just like the DelCh command, except that it deletes all characters from the cursor to the beginning of the following word. * DelToEol This command deletes the character at the cursor position and all text to the right of the cursor on the current cursor line. The cursor position does not change. * DelLine This command deletes the current cursor line from the text. All text below the deleted line is shifted up one line. * UndoCursorline This command allows you to reverse any changes you have made to the cursor line. This can be helpful if you accidentally delete or change part of a line, or you just change your mind and want the cursor line back the way it was. This command must be issued before the cursor is moved from the current cursor line and before any file or window commands are entered. Changes made using the FindReplace command cannot be reversed with this command. * UnKill This command allows you to retrieve text that has been deleted by the DeleteBlock, DelLine, DelRtWord, or DelToEol commands. Refer to "The Kill Buffer - A Safety Net" section in this chapter for a complete explanation of the use of this command. Changing Case * Upper This command changes the current character to its upper-case equivalent. If the cursor is in a Block when invoked, all characters in the Block are upper-cased. * Lower This command changes the current character to its lower-case equivalent. If the cursor is in a Block when invoked, all characters in the Block are lower-cased. * Flip This command flips the case of the current character. If the cursor is in a Block when invoked, all characters in the Block are flipped. Sorting The editor allows you to sort a range of lines, using a column Block as the key upon which the sort is based. In order to use the Sort feature, mark a column Block indicating the key on which to sort, and then press . The Sort can be configured (either interactively or by using the configuration program, QCONFIG) to ignore or respect case, and to sort in ascending or descending order. * Sort or Sorts all the lines spanned by a column Block, using the column Block as the sort key. * ToggleSortCaseInSensitive Toggles sort case sensitivity ON or OFF. Set this option ON to have the Sort command ignore the case of characters when sorting; set this option OFF to have the Sort command respect upper/lower case. * ToggleSortDescending Toggles the sort order between ascending and descending. Set this option OFF to sort in ascending order; set this option ON to sort in descending order. The Kill Buffer - A Safety Net ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor maintains a temporary storage area for deleted text. This provides the User a safeguard against incorrectly or inadvertently deleting text. This recovery mechanism is automatically in effect when the editor is running. No action is required from the User until there is a need to recover deleted text. The temporary storage area is called the Kill Buffer. Text that has been deleted by the following commands will be placed into the Kill Buffer: DeleteBlock DelLine DelRtWord DelToEol To understand how the Kill Buffer works and how text is recovered from the Kill Buffer, refer to the following illustration: The Kill Buffer Entry Command Number Entered Buffer Contents ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ top ³ 4 ³ DelToEol ³ part of this line was deleted. ³ ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ 3 ³ DelRtWord ³ word (1 word deleted) ³ ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ 2 ³ DelLine ³ This entire line was deleted. ³ ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ 1 ³ DelLine ³ This entire line was deleted. ³ ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ empty ³ ³ ³ ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ empty ³ ³ ³ ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ bottom Each time one of the text deletion commands is used, a new entry is made in the Kill Buffer. In the above example, four deletion commands have been issued. The text from these four commands has been stored in the Kill Buffer from top to bottom. In other words, when the DelToEol command was issued (entry #4), the first three entries were pushed toward the bottom of the Kill Buffer and the newly deleted text was entered at the top. In the example, the Kill Buffer has enough room for six entries. When a seventh entry is made, the oldest entry, or entry number one, will be discarded from the Kill Buffer. Once discarded from the Kill Buffer, that text can no longer be recovered. To recover deleted text, the UnKill command is used. Each time the UnKill command is issued the most recent entry (the "top" entry of the Kill Buffer) is retrieved and restored to the file. This entry is then deleted from the Kill Buffer, and all remaining entries move toward the top of the buffer by one position. In the example, the first time the UnKill command is issued, entry #4 will be recovered. Next, entry #3 will be recovered, and so on. Thus, recovering deleted text follows the rule of LIFO (last in, first out). The last entry of deleted text will be the first one recovered and the first entry of deleted text will be the last one recovered. Here are some additional items of which to be aware regarding the Kill Buffer and its uses. * A separate Kill Buffer is maintained for each file loaded into the editor. The Kill Buffer for each file exists only as long as the file is loaded. * The default size of the Kill Buffer is 30 entries. This may be changed using the configuration program. Refer to the "General Options" section of Chapter 2 for more information. * The text deleted using the DelLine, DelRtWord, and DelToEol commands will take up one entry in the Kill Buffer each time the commands are executed. The text deleted using the DeleteBlock command will take up as many entries as there are lines in the Block. It is important to note that regardless of how large the Kill Buffer is configured to be, it may be possible to mark and delete a Block in the file which is larger than the buffer. If this situation arises, the editor will save the deleted text in the Kill Buffer from the bottom up. For example, if a marked Block is 200 lines long and five lines too large for the Kill Buffer, then the top five lines of the Block will not be loaded into the Kill Buffer. * When issuing the UnKill command to recover deleted text, deleted lines will be inserted immediately before the current cursor line, and deleted words will be inserted immediately before the current cursor position. MACROS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor provides a helpful facility for creating macros, allowing you to simplify and automate editing tasks and to more fully customize the editor. Macros can be created as simple Keyboard Macros, by having the editor record a series of keystrokes as they are entered from the keyboard. More versatile macros can be created by assigning a series of editing and macro commands to specific keys within the editor's Keyboard Definition file (QCONFIG.DAT). To create even more complex macros, QMac (the external macro facility) can be used. (QMac is included in the registered version.) For more information about creating and using macros, refer to the file MACRO.DOC. PRINTING ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor allows you to print either your entire current file or a portion of the current file. To print the entire current file, enter the PrintAll command. The entire current file is printed. To print a portion of the current file, first mark the portion of the file to be printed using the Block-marking commands. (Refer to the "Block Commands" section in this chapter.) Next, enter the PrintBlock command. Only the marked Block portion of the file is printed. Print Formatting ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The editor contains various commands to make printing easier and more useful. There are commands to set the left margin, the top margin, and the bottom margin; to specify the number of lines per page; to indicate the output destination; to select single-, double-, or triple-spacing; and to indicate whether you want to print line numbers. * SetPrintLeftMargin or