home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / QEDIT4.ARJ / TSEJR.DOC < prev    next >
Encoding:
Text File  |  1995-10-25  |  289.8 KB  |  6,944 lines

  1.  
  2.                       THE SEMWARE(R) EDITOR JUNIOR
  3.  
  4.                           (formerly QEdit(R))
  5.  
  6.  
  7.                                Version 4
  8.  
  9.  
  10.                     R E F E R E N C E   M A N U A L
  11.  
  12.  
  13. Please note that this is the shareware version of the documentation, and
  14. has been abridged from the original document that accompanies the
  15. registered version of the software.  The licensed commercial version
  16. includes the complete indexed, bound manual.
  17.  
  18. Copyright 1985-1995 SemWare Corporation.
  19. All rights reserved worldwide.
  20.  
  21. This software embodies valuable trade secrets proprietary to SemWare
  22. Corporation.
  23.  
  24. SemWare is a registered trademark of SemWare Corporation.  All other
  25. trademarks and registered trademarks referenced in this document are the
  26. property of their respective owners.  The QEdit registered trademark is
  27. used under license from Robelle Consulting Ltd.
  28.  
  29. The SemWare(R) Editor Junior (TSE Jr.) software products were formerly
  30. called QEdit(R) (QEdit Advanced, QEdit TSR, and QEdit for OS/2).
  31.  
  32. Specifications subject to change without notice.
  33.  
  34. The READ.ME file contains information which supplements this
  35. documentation.
  36.  
  37. ┌───────────────────────────────────────────────────────┐
  38. │                                                       │
  39. │                   SALES AND SUPPORT                   │
  40. │                                                       │
  41. │                  SemWare Corporation                  │
  42. │                       Suite C3A                       │
  43. │                 4343 Shallowford Road                 │
  44. │                Marietta, GA  30062-5022               │
  45. │                         U.S.A.                        │
  46. │                                                       │
  47. │                                                       │
  48. │ Orders ONLY:   (800) 467-3692  Inside USA, 9am-5pm ET │
  49. │                                                       │
  50. │ Other Voice Calls:  (770) 641-9002  9am - 5pm ET      │
  51. │                                                       │
  52. │ InterNet:      sales@semware.com                      │
  53. │                or tech.support@semware.com            │
  54. │ CompuServe:    GO SEMWARE  (select Section 6)         │
  55. │                or 75300,2710                          │
  56. │                                                       │
  57. │ FAX:           (770) 640-6213  24 hours               │
  58. │ BBS:           (770) 641-8968  24 hours               │
  59. │                                                       │
  60. └───────────────────────────────────────────────────────┘
  61.  
  62.  
  63.  
  64.          _______
  65.     ____|__     |                (R)
  66.  --|       |    |-------------------
  67.    |   ____|__  |  Association of
  68.    |  |       |_|  Shareware
  69.    |__|   o   |    Professionals
  70.  -----|   |   |---------------------
  71.       |___|___|    MEMBER
  72.  
  73. This program is produced by a member of the Association of Shareware
  74. Professionals (ASP). ASP wants to make sure that the shareware
  75. principle works for you. If you are unable to resolve a
  76. shareware-related problem with an ASP member by contacting the
  77. member directly, ASP may be able to help. The ASP Ombudsman can help
  78. you resolve a dispute or problem with an ASP member, but does not
  79. provide technical support for members' products. Please write to the
  80. ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427, or send a
  81. CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536.
  82.  
  83.  
  84.           THE SEMWARE EDITOR JUNIOR SHAREWARE SOFTWARE LICENSE
  85.           ════════════════════════════════════════════════════
  86.  
  87. This version of The SemWare Editor Junior (the "Software") is NOT public
  88. domain or free software, but is being distributed as "shareware" for
  89. EVALUATION PURPOSES ONLY.  Your use of this Software indicates your
  90. agreement to the terms and conditions of this License.
  91.  
  92.                      COPYRIGHT, PROPRIETARY RIGHTS
  93.                      ─────────────────────────────
  94. The SemWare Editor Junior (TSE Jr.) Software is owned by SemWare
  95. Corporation or its suppliers and is protected by United States copyright
  96. laws and international treaty provisions. You may not reverse engineer,
  97. decompile, disassemble, or create derivative works based on the Software
  98. for any purpose other than creating an adaptation to the Software as an
  99. essential step in its utilization for your own use. This Software
  100. embodies valuable trade secrets proprietary to SemWare; you may not
  101. disclose any information regarding the internal operations of this
  102. Software to others.
  103.  
  104.                            USAGE RESTRICTIONS
  105.                            ──────────────────
  106. SemWare grants a limited license to individuals to use this shareware
  107. Software for a 30-day evaluation period on a private, non-commercial
  108. basis, for the express purpose of determining whether TSE Jr. is suitable
  109. for their needs. At the end of this 30-day evaluation period, the
  110. individual must either purchase a license from SemWare for continued use
  111. of the Software, or discontinue using TSE Jr.
  112.  
  113. What does this mean? If you use this Software on a continued basis, you
  114. must purchase a license for its use. TSE Jr. is NOT free, and we are not
  115. giving away free copies. We are giving you the opportunity to try it
  116. before paying for a license for continued use. It is that simple. Try it
  117. for 30 days. Then either pay for it, or quit using it.
  118.  
  119. Paying for a license to continue using the Software product is not only
  120. required, but also allows SemWare to provide support and updates, and
  121. stay in business. Licensed users receive printed documentation; a
  122. built-in spelling checker; a macro compiler/decompiler (QMAC);
  123. additional utilities and configuration files; and a version of the
  124. program that does NOT show the opening and closing shareware reminder
  125. screens. Registration of the licensed copy entitles the registered user
  126. to receive technical support (by phone, fax, our own support BBS, mail,
  127. or various electronic services such as CompuServe or InterNet), and
  128. makes them eligible for discounts on future versions.
  129.  
  130. Purchasing a license for The SemWare Editor Junior entitles you to use
  131. the Software on any and all computers available to you, provided you do
  132. not operate the Software on more than one computer or terminal at a time
  133. and you do not operate the Software on a network or a multi-user system.
  134. If you would like a network or multi-user license, please contact
  135. SemWare for details.
  136.  
  137.  
  138.                    DISTRIBUTION, COPYING RESTRICTIONS
  139.                    ──────────────────────────────────
  140. Individuals are granted a limited license to copy the SHAREWARE version
  141. of TSE Jr. only for the trial use of other individuals in accordance
  142. with the limitations identified in this License, and subject to the
  143. following restrictions:
  144.  
  145.  1. You MAY NOT distribute the Software in connection with any other
  146.     product or service.
  147.  
  148.  2. You MAY NOT make general use of the Software within a company,
  149.     institution, or agency.
  150.  
  151.  3. You MAY NOT copy or distribute the Software for any consideration or
  152.     "disk fee".
  153.  
  154.  4. You MAY NOT copy or distribute the Software in modified form.  (Any
  155.     distribution must include ALL FILES supplied by SemWare with the
  156.     shareware version of The SemWare Editor Junior, WITHOUT ALTERATION.)
  157.  
  158.  5. You MAY NOT distribute the Software documentation, in whole or in
  159.     part, in printed form.
  160.  
  161. Operators of electronic bulletin board systems (Sysops) are permitted
  162. and encouraged to post the shareware version of TSE Jr. for downloading
  163. by their users, as long as the above conditions are met. Though a fee
  164. may be charged for BBS access, NO FEE may be charged to specifically
  165. access or download the TSE Jr. shareware files.
  166.  
  167. Non-profit computer-related User Groups may distribute the shareware
  168. version of TSE Jr. provided the above conditions are met. However, such
  169. User Groups MAY charge a NOMINAL fee to cover the cost of the disk and
  170. copying of the Software.
  171.  
  172. Disk vendors MUST obtain written permission from SemWare before
  173. distributing the shareware version of TSE Jr. Certain restrictions
  174. apply. Generally, ASP approved vendors are granted permission. For
  175. further details, see VENDOR.DOC.
  176.  
  177.  
  178.                           WARRANTY DISCLAIMER
  179.                           ───────────────────
  180.  
  181. SEMWARE PROVIDES THE SHAREWARE VERSION OF THE SEMWARE EDITOR JUNIOR "AS
  182. IS" AND WITHOUT ANY WARRANTY. TO THE EXTENT PERMITTED UNDER APPLICABLE
  183. LAW, SEMWARE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
  184. NOT LIMITED TO, ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A
  185. PARTICULAR PURPOSE. SPECIFICALLY, SEMWARE MAKES NO REPRESENTATION OR
  186. WARRANTY THAT THE SOFTWARE IS FIT FOR ANY PARTICULAR PURPOSE.
  187.  
  188. SEMWARE SHALL NOT BE LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF
  189. THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO, LOSS OF PROFIT, DATA OR USE
  190. OF THE SOFTWARE, OR INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
  191. DAMAGES OR OTHER SIMILAR CLAIMS, EVEN IF SEMWARE HAS BEEN SPECIFICALLY
  192. ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE
  193. EXCLUSION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE FOREGOING
  194. LIMITATION MAY NOT APPLY TO YOU.
  195.  
  196.  
  197.                        U. S. GOVERNMENT LICENSEES
  198.                        ──────────────────────────
  199.  
  200. If you are acquiring the Software on behalf of any unit or agency of the
  201. United States Government, the following provisions apply:
  202.  
  203. The Government acknowledges SemWare's representation that the Software
  204. and its documentation were developed at private expense and no part of
  205. same is in the public domain.
  206.  
  207. The Government acknowledges SemWare's representation that the Software
  208. is "Restricted Computer Software" as that term is defined in Clause
  209. 52.227-19 of the Federal Acquisition Regulations (FARs) and is
  210. "Commercial Computer Software" as that term is defined in Subpart 27.401
  211. of the Department of Defense Federal Acquisition Regulation Supplement
  212. (DFARS).
  213.  
  214. The Government agrees that:
  215.  
  216.    (i) if the Software is supplied to the Department of Defense (DoD),
  217.    the Software is classified as "Commercial Computer Software" and the
  218.    Government is acquiring only "restricted rights" in the Software and
  219.    its documentation as that term is defined in Clause
  220.    252.227-7013(c)(1)(ii) of the DFARS, and
  221.  
  222.    (ii) if the Software is supplied to any unit or agency of the United
  223.    States Government other than the DoD, the Government's rights in the
  224.    Software and its documentation will be as defined in Clause
  225.    52.227-19(c)(2) of the FARs.
  226.  
  227. RESTRICTED RIGHTS LEGEND.  Use, duplication or disclosure by the U.S.
  228. Government is subject to restrictions as set forth in subparagraph
  229. (c)(1)(ii) of the Rights In Technical Data and Computer Software clause
  230. at DFARS 252.227-7013.  SemWare Corporation, 4343 Shallowford Road,
  231. Suite C3A, Marietta, Georgia 30062-5022, U.S.A.
  232.  
  233.  
  234.                          EXPORT LAW ASSURANCES
  235.                          ─────────────────────
  236.  
  237. You acknowledge and agree that the Software is subject to restrictions
  238. and controls imposed by the United States Export Administration Act (the
  239. "Act") and the regulations thereunder. You agree and certify that
  240. neither the Software nor any adaptation thereof is being or will be
  241. acquired, shipped, transferred or reexported, directly or indirectly,
  242. into any country prohibited by the Act and the regulations thereunder,
  243. nor will it be used for any purpose prohibited by the same.
  244.  
  245.  
  246.                   GOVERNING LAW AND GENERAL PROVISIONS
  247.                   ────────────────────────────────────
  248.  
  249. This License and Warranty Disclaimer shall be construed, interpreted and
  250. governed by the laws of the State of Georgia, U.S.A. If any provision is
  251. found void, invalid or unenforceable, it will not affect the validity of
  252. the balance of this License and Warranty Disclaimer which shall remain
  253. valid and enforceable according to its terms. This License and Warranty
  254. Disclaimer may only be modified in writing signed by you and a
  255. specifically authorized representative of SemWare. All rights not
  256. specifically granted in this License are reserved by SemWare.
  257.  
  258.  
  259.                           ORDERING INFORMATION
  260.                           ════════════════════
  261.  
  262. Purchasing a license for TSE Jr. allows you to use the product on a
  263. regular and/or continuing basis. Registration of your licensed copy of
  264. TSE Jr. entitles you to technical support from SemWare, discounts on
  265. updates, and access to the Registered User area of our support BBS
  266. (770/641-8968, <N81>, 1200/2400/9600 baud, 24 hours a day).
  267.  
  268. With your purchase, you will receive: a licensed copy of TSE Jr. V4.0
  269. with a 90-day limited warranty; a bound, indexed manual; a built-in
  270. spelling checker; a macro compiler/decompiler (QMAC); and additional
  271. utilities for use with TSE Jr.
  272.  
  273. We offer discounts to educational institutions, full-time students, BBS
  274. sysops, US and Georgia government agencies, and various approved
  275. Computer-related User Groups. Students must include proof of full-time
  276. student status (photocopy of current registration slip or student ID
  277. card). BBS sysops must supply the name and number of their BBS, along
  278. with any other relevant information. User Groups must be members of our
  279. SemWare Supporter program. Call for details.
  280.  
  281. All prices and discounts are subject to change without notice.
  282.  
  283.  
  284. MULTI-USER LICENSES AND QUANTITY PURCHASES
  285. ──────────────────────────────────────────
  286. All corporate, business, government, educational, or other commercial,
  287. public, or private users of TSE Jr. must be licensed. We offer quantity
  288. discounts as well as multi-user licensing. Please call or write for more
  289. information.
  290.  
  291.  
  292. ORDERS OUTSIDE THE U.S.A
  293. ────────────────────────
  294. Please use your MasterCard, VISA, American Express, or Discover card
  295. when ordering, or send a check drawn on a US bank payable in US dollars.
  296.  
  297.  
  298.      ***  The SemWare Editor Junior version 4.0, October 1995  ***
  299.                    * SINGLE-USER LICENSE ORDER FORM *
  300.  
  301.  
  302. MAIL: SemWare Corporation                FAX: (770) 640-6213   24 hours
  303.       4343 Shallowford Rd, Suite C3A     BBS: (770) 641-8968   24 hours
  304.       Marietta, GA  30062-5022  USA      CIS: 75300,2710
  305.                                          InterNet: sales@semware.com
  306.  
  307. PHONE (Orders ONLY): (800) 467-3692      OTHER VOICE CALLS: (770) 641-9002
  308.          Inside USA, 9am-5pm ET                               9am-5pm ET
  309.  
  310. ==========================================================================
  311.  
  312. ____ TSE Jr. V4.0 with printed manual ........... @ $59.00 ea  $ ______
  313.  
  314. SHIPPING (each copy) .... US/Canada/Mexico: $5; Overseas: $12  $ ______
  315.  
  316. PURCHASE ORDERS under $100.00, add $6 Billing Fee ...........  $ ______
  317.     (Does NOT apply to PREPAID Check or Charge Card orders)
  318.  
  319.                                                      SUBTOTAL  $ ______
  320.  
  321. GEORGIA RESIDENTS please add Sales Tax ................  @ 5%  $ ______
  322.  
  323. TOTAL  (U.S. Dollars drawn on U.S. Bank, payable to SemWare)   $ ______
  324.  
  325.             NOTE:  Software is provided on 3-1/2" diskette.
  326.  
  327. --------------------------------------------------------------------------
  328.  
  329. Payment by:  ( )CHECK   ( )VISA   ( )MC   ( )AMEX   ( )DISCOVER
  330.              ( )PO#_____________ (copy attached)
  331.  
  332. Name: _____________________________________________________________
  333.  
  334. Company (ONLY if company address):_________________________________
  335.  
  336. Address: __________________________________________________________
  337.  
  338.        : __________________________________________________________
  339.  
  340.        : __________________________________________________________
  341.  
  342. Voice Phone: _______________________    FAX: ______________________
  343.  
  344. Card #: _________________________________ Exp. Date: ______________
  345.  
  346. Signature of cardholder: __________________________________________
  347.  
  348.  
  349.  
  350. THE SEMWARE EDITOR JUNIOR SOFTWARE IS LICENSED ONLY IN ACCORDANCE WITH
  351. THE SEMWARE LICENSE AGREEMENT THAT ACCOMPANIES THE SOFTWARE.
  352.  
  353. Prices subject to change without notice. Call to confirm current prices.
  354.  
  355. Contact us about quantity discounts and multi-user licenses, as well as
  356. discounts for full-time students, BBS sysops, and approved User Groups.
  357.  
  358. TABLE OF CONTENTS
  359. ══════════════════════════════════════════════════════════════════════
  360.  
  361. INTRODUCTION
  362. FEATURES
  363. SYSTEM REQUIREMENTS
  364. INSTALLATION
  365.      Tasks to Perform Following Installation
  366.      Setting Up the Editor on a Laptop System
  367.  
  368. 1. USER'S GUIDE
  369.      QUICK START
  370.        Getting Started
  371.        In the Editor
  372.        Getting Out
  373.      MENUS
  374.      THE STATUSLINE
  375.      PROMPTS
  376.      USING A MOUSE
  377.        Mouse Equipment
  378.        General Use of the Mouse
  379.        Using the Pull-Down Menus
  380.        Positioning the Cursor and Scrolling Text
  381.        Marking a Block
  382.        Using the Pop-Up Mouse Menu
  383.        Working with Windows
  384.        Summary of Mouse Operations
  385.      FILES
  386.        Creating New Files
  387.        Loading Existing Files
  388.        Locating a File on Disk
  389.        Changing the Current Directory from within the Editor
  390.        Invoking the Editor at a Specific Line Number
  391.        Multiple Files:  The Ring
  392.        Saving Files and Exiting
  393.        Read-Only Files
  394.      VIEWING AND GETTING AROUND IN THE TEXT
  395.        Cursor Movement
  396.          Moving Through a File
  397.          Moving Around on the Screen
  398.          Moving By Lines and Characters
  399.        Using Windows
  400.          Creating Windows
  401.          Switching Windows
  402.          Changing Window Size
  403.          Closing Windows
  404.          Synchronized Scrolling in Windows
  405.      FINDING AND REPLACING TEXT
  406.        Finding Text
  407.        Replacing Text
  408.      COPYING, MOVING, CHANGING, AND DELETING TEXT
  409.        Block Commands
  410.          Marking and Unmarking a Block
  411.          CUA-Style Block Marking
  412.          Manipulating Blocks Directly
  413.          Manipulating Blocks Using Scrap Buffers
  414.          Manipulating Blocks Using Scratch Buffers
  415.          Accessing the Microsoft Windows Clipboard
  416.          Examples of Block Commands
  417.        Non-Block Commands
  418.          Adding Text
  419.          Copying Text
  420.          Moving Text
  421.          Deleting And Undeleting Text
  422.          Changing Case
  423.          Sorting
  424.        The Kill Buffer - A Safety Net
  425.      MACROS
  426.      PRINTING
  427.        Print Formatting
  428.        Formfeeds
  429.      THE SHELL AND DOS COMMANDS
  430.        Swapping, [JR] Shell Indicator
  431.      WORD-PROCESSING COMMANDS
  432.      MODES
  433.  
  434. 2. CUSTOMIZING THE EDITOR
  435.      INITIATING THE CONFIGURATION PROGRAM
  436.      THE CONFIGURATION MENU
  437.      ADVANCED OPTIONS
  438.      COLORS/SCREEN OPTIONS
  439.      GENERAL OPTIONS
  440.      THE HELP SCREEN
  441.      KEYBOARD CONFIGURATION
  442.        The Keyboard Definition File
  443.        Creating a Keyboard Definition File
  444.      PRINTER OPTIONS
  445.      TAB SETTINGS
  446.  
  447. 3. COMMAND REFERENCE
  448.  
  449.  
  450. INTRODUCTION
  451. ══════════════════════════════════════════════════════════════════════
  452.  
  453. The SemWare Editor Junior (TSE Jr.), formerly called QEdit, is a
  454. full-screen text editor for the IBM PC and compatible computers. TSE Jr.
  455. is intended for use by those who want a fine-tuned, versatile DOS editor
  456. that is inexpensive, and operates efficiently in limited resources.
  457. (For those who want a more powerful editor that includes virtual-memory
  458. support, a full-featured programming language, and wildcard search and
  459. replace capabilities, we offer The SemWare Editor Professional.)
  460.  
  461. This manual describes the use and operation of TSE Jr., and includes a
  462. user's guide, a chapter on customizing the editor, and a reference
  463. section for editor commands.  A separate file, MACRO.DOC, contains
  464. information about keyboard macros and the editor's macro language.
  465.  
  466. TSE Jr. is a text editor as opposed to a word processor.  This means
  467. that most of its features are geared toward creating and maintaining
  468. program source code and other text files.  However, it can also be used
  469. like a word processor to write documents or letters since it includes
  470. many word-processing capabilities.
  471.  
  472.  
  473. The editor was developed with these goals in mind:
  474.  
  475. * FAST OPERATION - More than anything else, the editor was designed to
  476.   operate quickly, especially in these areas:
  477.  
  478.    - Initially loading a file for editing.
  479.    - Displaying/updating the screen.
  480.    - Moving through the editing window.
  481.    - Searching for text.
  482.    - Saving a file back to disk.
  483.  
  484.  
  485. * EASE OF USE - This version includes:
  486.  
  487.    - Optional "pull-down" menus.
  488.    - Customizable Help Screen.
  489.    - Complete execution from a single file (Q.EXE).
  490.    - Pop-up file directory and picker.
  491.  
  492.  
  493. * COMPACT PROGRAM SIZE - Every effort has been made to keep the program
  494.   size as compact as possible.  Even though memory is getting cheaper
  495.   all the time, we do not want the editor to require any more memory
  496.   than absolutely necessary.
  497.  
  498. TSE Jr. is available in three versions:  the standard DOS version, the
  499. memory-resident DOS version (TSE Jr./Mem-Res), and the OS/2 version (TSE
  500. Jr./2).  All three versions offer the same rich set of features and
  501. behave in much the same manner.  This shareware version is based on the
  502. standard DOS version of TSE Jr.
  503.  
  504.  
  505. FEATURES
  506. ══════════════════════════════════════════════════════════════════════
  507.  
  508. The editor offers a number of powerful features for editing text, both
  509. easily and quickly.  To put that power at your fingertips, the editor:
  510.  
  511.  * Is very fast!
  512.  
  513.  * Is highly customizable.  The editor can be easily configured the way
  514.    you like.  You can configure ALL of the special keys on the keyboard
  515.    (Alt, Ctrl, and function keys; <Home>, <PgUp>, etc.), as well as the
  516.    colors, screen appearance, and many other options.
  517.  
  518.  * Is easy to use.  An optional "pull-down" menu provides ready access
  519.    to the editor's commands, and the Help Screen can be customized for
  520.    your own needs.
  521.  
  522.  * Can be used with a mouse.  You can optionally perform scrolling,
  523.    window, block, and menu operations using your mouse.
  524.  
  525.  * Is compact.  Even with all these features, the editor requires less
  526.    than 70K of disk space.
  527.  
  528.  * Utilizes all available conventional DOS memory (up to 640K).  Edit
  529.    files as large as your computer's memory will allow.
  530.  
  531.  * Allows multi-file editing.  The number of files you can edit is
  532.    limited only by available conventional memory.
  533.  
  534.  * Accommodates editing of files with a line length of up to 2032
  535.    characters.
  536.  
  537.  * Enables you to view files through multiple horizontal, resizable
  538.    windows.  You can have multiple views of the same file or view a
  539.    different file in each window.
  540.  
  541.  * Allows you to simultaneously scroll the text in multiple windows
  542.    (with synchronized scrolling).
  543.  
  544.  * Offers a utility to locate a file when you do not remember the
  545.    directory in which it exists, or you do not recall the exact name of
  546.    the file.
  547.  
  548.  * Provides up to 99 scratch buffers for cut-and-paste or template
  549.    operations.  You can even select a buffer from a pick list of your
  550.    current scratch buffers.
  551.  
  552.  * Allows you to temporarily exit to DOS (or a DOS shell) and use DOS
  553.    commands from within the editor.  Optionally, the editor can swap to
  554.    disk or expanded memory to allow even the largest programs (such as
  555.    compilers) to run without exiting the editor.
  556.  
  557.  * Allows you to copy or paste text directly between the current file
  558.    and the Microsoft Windows Clipboard (or the OS/2 Clipboard, in the
  559.    OS/2 version of the editor).
  560.  
  561.  * Supports numerous character, line, and column Block operations.  If
  562.    you prefer, you can configure the editor to recognize CUA-style
  563.    Block marking (using the shifted cursor keys).
  564.  
  565.  * Saves deleted words, lines, and Blocks in a deletion buffer for
  566.    later recall.
  567.  
  568.  * Will load multiple files from the DOS command line, with or without
  569.    wildcard characters.
  570.  
  571.  * Allows you to specify up to six default file extensions for use when
  572.    loading files and determining tab settings.
  573.  
  574.  * Provides line-drawing capability to create diagrams and tables.
  575.  
  576.  * Supports enhanced (101-key) keyboards.
  577.  
  578.  * Supports EGA 43-line mode, and VGA 28-line and 50-line modes.
  579.  
  580.  * Offers a built-in Sort command, with options for ascending,
  581.    descending, and case-insensitive sorting.
  582.  
  583.  * Includes many helpful options for finding and replacing text,
  584.    allowing you to:  incrementally search for a string; perform a
  585.    "global" find or replace (throughout the entire file); perform a
  586.    "local" find or replace (limited to a marked Block); and anchor a
  587.    find or replace to the beginning or end of a line or Block.
  588.  
  589.  * Provides the ability to shift entire Blocks using the tab left and
  590.    right commands (TabLt and TabRt).
  591.  
  592.  * Allows you to fill a Block with a specified character (FillBlock
  593.    command).
  594.  
  595.  * Offers an optional large, flashing block cursor as a configuration
  596.    option.  This is especially helpful for use on laptop computers.
  597.  
  598.  * Provides a pop-up ASCII chart that allows you to directly insert the
  599.    selected character into your text.
  600.  
  601.  * Allows you to display a visual directory tree to change the current
  602.    directory from within the editor.
  603.  
  604.  * Includes various tab-handling options, including variable, smart,
  605.    and fixed tabs.
  606.  
  607.  
  608. For your word-processing needs, the editor:
  609.  
  610.  * Contains a fully-integrated Spell Checker (in the registered version)
  611.    that suggests spellings for misspelled words (less than 200K
  612.    additional disk space required to load dictionary).
  613.  
  614.  * Provides wordwrap and paragraph-reformat capabilities.
  615.  
  616.  * Includes options to change the case of characters (Flip, Lower,
  617.    Upper commands).
  618.  
  619.  * Gives you the ability to center the text on a line (CenterLine
  620.    command).
  621.  
  622.  * Includes commands that allow you to swap adjacent characters, words,
  623.    and lines.
  624.  
  625.  * Offers various printing options, such as specification of top and
  626.    bottom print margins (SetPrintBotMargin, SetPrintTopMargin
  627.    commands), assignment of the print device, ability to adjust line
  628.    spacing, and inclusion of line numbers.
  629.  
  630.  * Allows you to configure the date and time formats.
  631.  
  632.  * Includes an option to display the hex and decimal values of the
  633.    current character on the StatusLine.
  634.  
  635.  
  636. To further enhance the editor's operation, the macro facility:
  637.  
  638.  * Allows you to create macros that will execute a series of commands
  639.    and keystrokes by pressing a single key.
  640.  
  641.  * Offers a simple macro scripting language.
  642.  
  643.  * Includes the ability to load and/or execute macros from the DOS
  644.    command line, as well as an option to execute an automatic startup
  645.    macro.
  646.  
  647.  * Supports conditional logic (Jump, JTrue, JFalse commands).
  648.  
  649.  
  650. To assist you in your programming tasks, the editor:
  651.  
  652.  * Provides "C mode", which utilizes automatic indentation for
  653.    C-language programming.
  654.  
  655.  * Locates matching braces and parentheses, which is very useful for
  656.    entering and maintaining source code.
  657.  
  658.  * Allows you to execute command-line compilers from within the editor,
  659.    using the macro facility.
  660.  
  661.  * Offers a DOS command-line option (-n) for jumping to a specific line
  662.    number within a file upon loading.
  663.  
  664.  
  665.  
  666. SYSTEM REQUIREMENTS
  667. ══════════════════════════════════════════════════════════════════════
  668.  
  669. The editor requires an IBM PC or 100% compatible computer.  MINIMUM
  670. requirements are:
  671.  
  672. * 128 KB of memory for the standard DOS version.
  673.  
  674. * PC-DOS or MS-DOS, v2.0 or greater, for the DOS versions.
  675.  
  676. * One diskette drive.
  677.  
  678. * Either a color or a monochrome monitor with 80-column display.
  679.  
  680. * Less than 70 KB of disk space (or less than 250 KB if the
  681.   spell-checker dictionary is installed, in the registered version).
  682.  
  683. * The editor program itself:  Q.EXE.  Once configured, no other files
  684.   are necessary for operating the editor.  (Note:  Additional files are
  685.   required to use the spell checker that is included in the registered
  686.   version.)
  687.  
  688.  
  689.  
  690. INSTALLATION
  691. ══════════════════════════════════════════════════════════════════════
  692.  
  693. Tasks to Perform Following Installation
  694. ───────────────────────────────────────
  695.  
  696. If you placed the editor in a directory that is not already listed in
  697. your path, you may want to modify the PATH statement in your
  698. AUTOEXEC.BAT to include the editor directory.  This allows you to run
  699. the editor from any directory on your machine.
  700.  
  701. Please review the contents of the READ.ME file included with the
  702. software.  This file contains important information (usage information,
  703. new features, changes, etc.) that became available after this manual was
  704. created.
  705.  
  706. The READ.ME file also contains a complete list of the files included
  707. with the software.  A partial list is included here:
  708.  
  709. TSE Jr.      File Description
  710. ───────────  ──────────────────────────────────────────
  711. Q.EXE        The SemWare Editor Junior program.  Once configured, this
  712.              is the only file needed to run the basic editor.
  713.  
  714.              Note:  Configuration of the editor requires additional
  715.                     files.
  716.  
  717. QCONFIG.EXE  The configuration program.  This program allows you to
  718.              customize the editor.
  719.  
  720. QCONFIG.DAT  The default Keyboard Definition file. Used by QCONFIG.EXE.
  721.  
  722. QHELP.TXT    The default Help text.  Used by QCONFIG.EXE.
  723.  
  724.  
  725. Note:  After you have tried TSE Jr., you may wish to permanently
  726.        customize some of the options.  The editor comes with a
  727.        configuration program, QCONFIG, that makes customizing the editor
  728.        easy.  See Chapter 2, "Customizing the Editor," for instructions.
  729.  
  730.  
  731. Setting Up the Editor on a Laptop System
  732. ────────────────────────────────────────
  733.  
  734. If you have a laptop computer (one with an LCD or plasma display), you
  735. should set your screen parameters before using the editor.  For the best
  736. operation, enter MODE BW80 at the DOS command line before running the
  737. editor.
  738.  
  739. Alternatively, you can install the editor for a black-and-white screen
  740. with the customization program, QCONFIG.  Refer to Chapter 2,
  741. "Customizing the Editor."  With this customization program, you should
  742. choose "1" (Monochrome) from the "Colors/screen" options, when prompted
  743. with "Startup attribute set:".
  744.  
  745.  
  746. ┌──────────────────────────────────────────────────────────────┐
  747. │ Tip:                                                         │
  748. │   Please note that one of the MAJOR features of the editor   │
  749. │   is configurability.  You can customize the colors, the     │
  750. │   keys, the on-screen appearance of the editor, and many     │
  751. │   other functions.                                           │
  752. │                                                              │
  753. │   By spending just a small amount of time reviewing Chapter  │
  754. │   2 on configuration, you can benefit greatly through        │
  755. │   customizing the editor to your personal preferences.       │
  756. └──────────────────────────────────────────────────────────────┘
  757.  
  758.  
  759.  
  760. CHAPTER 1.  USER'S GUIDE
  761. ══════════════════════════════════════════════════════════════════════
  762.  
  763. QUICK START
  764. ──────────────────────────────────────────────────────────────────────
  765.  
  766. In the editor, you can edit any text file with a few simple commands.
  767. The next three sections briefly describe the quickest way possible to
  768. load, edit, and save a file.
  769.  
  770.  
  771. Getting Started
  772. ───────────────
  773.  
  774. Using the editor is simple and straightforward.
  775.  
  776. To initiate the editor, type "Q <Enter>".  The editor will respond with
  777. a prompt for the name of the file to be edited.
  778.  
  779. ┌──────────────────────────────────────────────────────────────┐
  780. │  File(s) to edit:                                            │
  781. │                                                              │
  782. └──────────────────────────────────────────────────────────────┘
  783.  
  784. Enter the filename.  The filename may include the full path designation.
  785.  
  786.  
  787. ┌──────────────────────────────────────────────────────────────┐
  788. │ Tip:                                                         │
  789. │   At any "File(s) to edit:" prompt, you may use wildcard     │
  790. │   characters (* or ?) to obtain a list of matching files in  │
  791. │   the directory.                                             │
  792. └──────────────────────────────────────────────────────────────┘
  793.  
  794.  
  795. You may optionally include the filename on the DOS command line in order
  796. to bypass this prompt.  For example, from the DOS command line, type:
  797.  
  798.     q  <filename to edit>  <Enter>
  799.  
  800.  
  801. In the Editor
  802. ─────────────
  803.  
  804. Once you are in the editor, the cursor movement keys (Left, Right, Up,
  805. Down, Home, End, ...) allow you to move around in the text.
  806.  
  807. To obtain a Help Screen, simply press <F1>.  Pressing <F1> again (or any
  808. other key) returns you to the text.
  809.  
  810. To obtain a menu of editing commands, press <Esc>.  You may then use the
  811. cursor movement keys to position the cursor bar over the desired
  812. command.  Press <Enter> to execute the command.
  813.  
  814.  
  815. ┌──────────────────────────────────────────────────────────────┐
  816. │ Tip:                                                         │
  817. │   Within a prompt for a command, press <Esc> to cancel the   │
  818. │   command (and the prompt).                                  │
  819. └──────────────────────────────────────────────────────────────┘
  820.  
  821.  
  822. Getting Out
  823. ───────────
  824.  
  825. The easiest way to get out of the editor and save all the work you have
  826. done is to enter <Alt F> <G>.
  827.  
  828.  
  829. MENUS
  830. ──────────────────────────────────────────────────────────────────────
  831.  
  832. The editor provides an easy-to-use "pull-down" style menu system.  The
  833. menu system is very helpful while learning to use the editor.  It is
  834. also handy for executing seldom-used commands.
  835.  
  836. To access the menus and execute a command:
  837.  
  838. 1. Press <Esc>.  The main menu is displayed at the top of the screen.
  839.    The main menu consists of a list of sub-menu items.
  840.  
  841. 2. Select a sub-menu item.  To do this, either move the cursor bar to
  842.    the desired item and press <Enter>; or type the highlighted
  843.    character, or "quick-key," of the desired item.
  844.  
  845. 3. Execute a command.  This is done in the same manner as selecting the
  846.    sub-menu items.
  847.  
  848. Here is an example of the pull-down style menu system.  The User is
  849. about to execute the CopyBlock command.
  850.  
  851. ┌─────────────────────────────────────────────────────────────────┐
  852. │File  Window ▒Block▒ Search  Print  Macro  Editing  Other  Quit  │
  853. └────────────┌───────────────────┐────────────────────────────────┘
  854.              │ Mark Line         │
  855.              │ Mark Character    │
  856.              │ Mark Column       │
  857.              │ Mark Begin        │
  858.              │ Mark End          │
  859.              │ UnMark            │
  860.              ├───────────────────┤
  861.              │▒Copy Block▒▒▒▒▒▒▒▒│
  862.              │ Move Block        │
  863.              │ Delete Block      │
  864.              │ Copy Over         │
  865.              │ Fill...           │
  866.              ├───────────────────┤
  867.              │ Sort              │
  868.              │ Ignore Case [Off] │
  869.              │ Descending  [Off] │
  870.              └───────────────────┘
  871.  
  872.  
  873. As an added convenience, the default configuration of the editor allows
  874. you to directly access the File, Print, and Quit sub-menus by pressing
  875. <Alt F>, <Alt P>, or <Alt Q>, respectively.
  876.  
  877. You can execute many editing commands using the menus.  As you become
  878. more familiar with the editor, you may wish to use the <Ctrl>, <Alt>,
  879. and function key assignments, instead of the menus, to execute commands
  880. more quickly.
  881.  
  882.  
  883. THE STATUSLINE
  884. ──────────────────────────────────────────────────────────────────────
  885.  
  886. At the top of the editing screen is the StatusLine.  The StatusLine
  887. constantly displays information about the file you are currently
  888. editing.
  889.  
  890. The StatusLine is shown below with a description of the information
  891. displayed.
  892.  
  893. ┌───────────────────────────────────────────────────────────────────┐
  894. │L 15   C 15   IAWRBS  411K     *c:\semware\status.doc        20h,32│
  895. └──┬──────┬────┬┬┬┬┬┬───┬───────┬──────┬─────────────────────────┬──┘
  896.    │      │    ││││││   │       │      │   ┌─────────────────────┘
  897.    │      │    ││││││   │       │      │   │
  898.    │      │    ││││││   │       │      │   │
  899.    │      │    ││││││   │       │      │   └─── The hex and decimal
  900.    │      │    ││││││   │       │      │        value for the character
  901.    │      │    ││││││   │       │      │        at the cursor position,
  902.    │      │    ││││││   │       │      │        if this option is ON.
  903.    │      │    ││││││   │       │      │
  904.    │      │    ││││││   │       │      └─── The path and name of the
  905.    │      │    ││││││   │       │            file you are editing
  906.    │      │    ││││││   │       │
  907.    │      │    ││││││   │       └─── *) Indicates file has been changed
  908.    │      │    ││││││   │
  909.    │      │    ││││││   └───── Amount of available memory
  910.    │      │    ││││││           (DOS versions only)
  911.    │      │    ││││││
  912.    │      │    │││││└─── S) Indicates Synchronized Scrolling mode is ON
  913.    │      │    │││││
  914.    │      │    ││││└─── B) Indicates Box Drawing mode is ON
  915.    │      │    ││││
  916.    │      │    │││└─── R) Indicates Macro Recording is ON
  917.    │      │    │││
  918.    │      │    ││└─── W) Indicates WordWrap mode is ON
  919.    │      │    ││
  920.    │      │    │└─── A) Indicates AutoIndent mode is ON
  921.    │      │    │
  922.    │      │    └─── I) Indicates Insert mode is ON
  923.    │      │
  924.    │      └──── The current cursor column number
  925.    │
  926.    └──── The current cursor line number
  927.  
  928.  
  929. For more information on Insert, AutoIndent, WordWrap, and Box Drawing,
  930. refer to the "Modes" section in this chapter.  For more information on
  931. macro recording, see the file MACRO.DOC.
  932.  
  933.  
  934. ┌──────────────────────────────────────────────────────────────┐
  935. │ Tip:                                                         │
  936. │   The StatusLine may be configured to appear at the bottom   │
  937. │   of the screen.  Refer to the "Colors/Screen Options"       │
  938. │   section of Chapter 2 for more information.                 │
  939. └──────────────────────────────────────────────────────────────┘
  940.  
  941.  
  942.  
  943. PROMPTS
  944. ──────────────────────────────────────────────────────────────────────
  945.  
  946. When the editor needs information from the user (such as the name of a
  947. file to edit, a search string, etc.), a prompt is issued.  The prompt
  948. consists of a message, telling what information is requested, and an
  949. area for the user to enter a response.  The following commands are
  950. available in prompts (if assigned to a key):
  951.  
  952.  
  953. AsciiChart           CursorLeft       DirTree      Paste
  954. BackSpace            CursorRight      EndLine      Pause
  955. BegLine              DelCh            Escape       Return
  956. CopyBlock            DelLine          Literal      ToggleInsert
  957. CurrentFilename      DelToEol         LocateFile
  958.  
  959.  
  960. Other commands are simply ignored.
  961.  
  962. Note:  Execute DelLine (<Ctrl Y> or <Alt D>) to clear the response area
  963.        of any prompt.
  964.  
  965.  
  966. USING A MOUSE
  967. ──────────────────────────────────────────────────────────────────────
  968.  
  969. You can optionally use the mouse to perform a wide range of functions
  970. within the editor, including selecting items from a menu or a pick list,
  971. positioning the cursor on the screen, scrolling text, marking and
  972. manipulating Blocks, and creating and moving between windows.
  973.  
  974.  
  975. Mouse Equipment
  976. ───────────────
  977.  
  978. To use a mouse in the editor, the mouse must be enabled.  This is done
  979. by setting the configuration option "Enable mouse processing" to <Y>.
  980. (This is the default setting for this option.  Refer to the "Advanced
  981. Options" section of Chapter 2.)
  982.  
  983. To fully use the mouse capabilities, the editor must also be configured
  984. to display a full border around each window on the screen.  This is
  985. because the mouse uses the border area to scroll text and perform many
  986. window operations.  To display a border around each window, set the
  987. configuration option "Do you want the display boxed" to <Y>.  (Refer to
  988. the "Colors/Screen Options" section of Chapter 2.)
  989.  
  990. When the editor detects that a mouse is present and enabled, the
  991. following special mouse-sensitive areas are included in the window
  992. borders.  (These areas, called mouse "hot spots", are used by the mouse
  993. to perform particular operations, described later in this section.)
  994.  
  995. * A horizontal scrollbar is placed in each bottom window border, and a
  996.   vertical scrollbar is placed in each right-hand border.
  997.  
  998. * The  symbol is located at the left of each horizontal scrollbar, and
  999.   the  symbol is located at the right.
  1000.  
  1001. * The  symbol is located at the top of each vertical scrollbar, and the
  1002.    symbol is located at the bottom.
  1003.  
  1004. * Within each horizontal scrollbar, an elevator shaft runs between the 
  1005.   and  symbols, and includes an █ elevator symbol.  This horizontal
  1006.   elevator moves within the elevator shaft according to your relative
  1007.   column position in the current file.
  1008.  
  1009. * Within each vertical scrollbar, another elevator shaft runs between
  1010.   the  and  symbols, and includes an █ elevator symbol.  This vertical
  1011.   elevator moves within the elevator shaft according to your relative
  1012.   line position in the current file.
  1013.  
  1014. * The [] or [] symbol is located on the right-hand side of the
  1015.   StatusLine of each window when multiple windows are open.  When the
  1016.   windows are non-zoomed, the [] symbol is displayed in each window.
  1017.   When a window is zoomed, the [] symbol is displayed in the zoomed
  1018.   window.
  1019.  
  1020. * The [■] symbol is located on the left-hand side of the StatusLine of
  1021.   each window when multiple windows are open.
  1022.  
  1023.  
  1024. If desired, you can configure the editor for left-handed use of the
  1025. mouse (rather than right-handed).  To do this, set the configuration
  1026. option "Left-handed mouse" to <Y>.  (Refer to the "Advanced Options"
  1027. section of Chapter 2.)
  1028.  
  1029. Additional configuration options have an effect on the behavior of the
  1030. mouse in the editor.  Refer to the "Advanced Options" section of Chapter
  1031. 2 for more information.
  1032.  
  1033.  
  1034. General Use of the Mouse
  1035. ────────────────────────
  1036.  
  1037. To initiate an action with the mouse, position the mouse pointer at the
  1038. appropriate place on the screen, and then press one of the buttons on
  1039. the mouse (either the <LeftBtn> or <RightBtn>), as indicated by the
  1040. mouse command assignments described later in this section.  Depending on
  1041. the desired action, you either "click," "press and hold," or "drag" the
  1042. mouse, as follows:
  1043.  
  1044. * To click a mouse button, press and immediately release the button.
  1045.  
  1046.   For certain commands, you execute the command one time only by
  1047.   clicking the mouse button.  For some commands, you must click the
  1048.   indicated mouse button two or three times, as instructed for that
  1049.   command.  For multiple clicks, the mouse pointer must remain at the
  1050.   same location while the button is repeatedly clicked the specified
  1051.   number of times.
  1052.  
  1053. * To press and hold a mouse button, press and hold the button for a
  1054.   period of time before releasing it.  The amount of time that the
  1055.   button must be held is determined by the configuration option
  1056.   "Mouse hold time".  (Refer to the "Advanced Options" section of
  1057.   Chapter 2.)
  1058.  
  1059.   For commands that are invoked by clicking a mouse button, a command
  1060.   can be executed multiple times by pressing and holding the button. The
  1061.   command is executed repeatedly until the mouse button is released. The
  1062.   value assigned to the configuration option "Mouse repeat-delay factor"
  1063.   determines the number of times that a command is repeated while the
  1064.   button is held.  (Refer to the "Advanced Options" section of Chapter
  1065.   2.)
  1066.  
  1067. * To drag the mouse, press the indicated mouse button, and continue to
  1068.   hold down the button as you drag the mouse pointer to another location
  1069.   on the screen.  Do not release the button until the mouse pointer is
  1070.   positioned at the desired location.
  1071.  
  1072. The action caused by the mouse is determined by the location of the
  1073. mouse pointer when a mouse button is pressed:
  1074.  
  1075. * On the StatusLine, clicking the <LeftBtn> displays the main pull-down
  1076.   menu.
  1077.  
  1078. * Within menus, prompts, and pick lists, clicking the <LeftBtn> is the
  1079.   same as pressing <Enter>, and clicking the <RightBtn> is the same a
  1080.   pressing <Esc>.
  1081.  
  1082.   For entries in menus and pick lists, the position of the mouse pointer
  1083.   determines the entry that is selected when you click the <LeftBtn>.
  1084.  
  1085. * Within the text portion of a window, various operations with the
  1086.   <LeftBtn> are used to position the editing cursor or to mark a Block.
  1087.   (A few of the Block-marking commands are executed by pressing the
  1088.   <LeftBtn> in combination with the <Ctrl> or <Alt> keys on the
  1089.   keyboard.)
  1090.  
  1091. * Anywhere in a window while in editing mode (when no menus, prompts, or
  1092.   pick lists are active), clicking the <RightBtn> pops up a special
  1093.   Mouse Menu of Block-related commands.
  1094.  
  1095. * In a window border, the <LeftBtn> is used to scroll the text, or to
  1096.   create, resize, or switch windows.  The special mouse symbols and
  1097.   scrollbars ("hot spots") in the window borders are used to execute
  1098.   specific scrolling or window commands.
  1099.  
  1100.  
  1101. Using the Pull-Down Menus
  1102. ─────────────────────────
  1103.  
  1104. To execute a command or set an option from the pull-down menus using the
  1105. mouse, you can follow these steps:
  1106.  
  1107. * Display the main pull-down menu by placing the mouse pointer on the
  1108.   StatusLine and clicking the <LeftBtn>.
  1109.  
  1110. * Select a sub-menu item from the menu by placing the mouse pointer on
  1111.   the item and clicking the <LeftBtn>.
  1112.  
  1113. * Select a command or option from a sub-menu by placing the mouse
  1114.   pointer on the desired item and clicking the <LeftBtn>.
  1115.  
  1116. To exit from the pull-down menus, click the <RightBtn> until the main
  1117. menu is removed from the screen, or move the mouse pointer outside the
  1118. menu area and click the <LeftBtn>.
  1119.  
  1120.  
  1121. Positioning the Cursor and Scrolling Text
  1122. ─────────────────────────────────────────
  1123.  
  1124. You can use the mouse to position the cursor or scroll text on the
  1125. screen, as described by the following.  Note that the special symbols, 
  1126.   , and the horizontal and vertical elevators along the scrollbars
  1127. are used for scrolling.
  1128.  
  1129. * To position the editing cursor:
  1130.  
  1131.   Place the mouse pointer in the text of the current window where you
  1132.   want the cursor to be positioned, and click the <LeftBtn>.
  1133.  
  1134. * To scroll down in the file, by line:
  1135.  
  1136.   Place the mouse pointer on the  symbol.  To scroll down one line,
  1137.   click the <LeftBtn>.  To repeat scrolling, press and hold the
  1138.   <LeftBtn>; scrolling continues until the button is released, or the
  1139.   end of the file is reached.
  1140.  
  1141. * To scroll up in the file, by line:
  1142.  
  1143.   Place the mouse pointer on the  symbol.  To scroll up one line, click
  1144.   the <LeftBtn>.  To repeat scrolling, press and hold the <LeftBtn>;
  1145.   scrolling continues until the button is released, or the beginning of
  1146.   the file is reached.
  1147.  
  1148. * To scroll left in the text, by column:
  1149.  
  1150.   Place the mouse pointer on the  symbol.  To scroll left one column,
  1151.   click the <LeftBtn>.  To repeat scrolling, press and hold the
  1152.   <LeftBtn>; scrolling continues until the button is released, or column
  1153.   1 is reached.
  1154.  
  1155. * To scroll right in the text, by column:
  1156.  
  1157.   Place the mouse pointer on the  symbol.  To scroll right one column,
  1158.   click the <LeftBtn>.  To repeat scrolling, press and hold the
  1159.   <LeftBtn>; scrolling continues until the button is released, or the
  1160.   maximum line length is reached.
  1161.  
  1162. * To scroll down in the file, by page:
  1163.  
  1164.   Place the mouse pointer on the scrollbar below the vertical elevator
  1165.   (█), within the vertical elevator shaft.  To scroll down one page,
  1166.   click the <LeftBtn>.  To repeat scrolling, press and hold the
  1167.   <LeftBtn>, keeping the mouse pointer below the elevator; scrolling
  1168.   continues until the button is released, or the elevator joins the
  1169.   mouse pointer, or the end of the file is reached.
  1170.  
  1171. * To scroll up in the file, by page:
  1172.  
  1173.   Place the mouse pointer on the scrollbar above the vertical elevator
  1174.   (█), within the vertical elevator shaft.  To scroll up one page, click
  1175.   the <LeftBtn>.  To repeat scrolling, press and hold the <LeftBtn>,
  1176.   keeping the mouse pointer above the elevator; scrolling continues
  1177.   until the button is released, or the elevator joins the mouse pointer,
  1178.   or the beginning of the file is reached.
  1179.  
  1180. * To scroll left in the text, by TabWidth:
  1181.  
  1182.   Place the mouse pointer on the scrollbar to the left of the horizontal
  1183.   elevator (█), within the horizontal elevator shaft.  To scroll left by
  1184.   one TabWidth, click the <LeftBtn>.  To repeat scrolling, press and
  1185.   hold the <LeftBtn>, keeping the mouse pointer to the left of the
  1186.   elevator; scrolling continues until the button is released, or the
  1187.   elevator joins the mouse pointer, or column 1 is reached.
  1188.  
  1189. * To scroll right in the text, by TabWidth:
  1190.  
  1191.   Place the mouse pointer on the scrollbar to the right of the
  1192.   horizontal elevator (█), within the horizontal elevator shaft.  To
  1193.   scroll right by one TabWidth, click the <LeftBtn>.  To repeat
  1194.   scrolling, press and hold the <LeftBtn>, keeping the mouse pointer to
  1195.   the right of the elevator; scrolling continues until the button is
  1196.   released, or the elevator joins the mouse pointer, or the maximum line
  1197.   length is reached.
  1198.  
  1199.  
  1200. Marking a Block
  1201. ───────────────
  1202.  
  1203. The following describes how to use the mouse to mark a Block of text.
  1204.  
  1205. * To mark a single line:
  1206.  
  1207.   Place the mouse pointer on the line to be marked.  Click the <LeftBtn>
  1208.   three times (without moving the mouse pointer).
  1209.  
  1210. * To mark multiple lines:
  1211.  
  1212.   Place the mouse pointer on the beginning line to be marked.  Press and
  1213.   hold <Alt> (on the keyboard) and the <LeftBtn>.  Then drag the mouse
  1214.   to the desired ending line, and release <Alt> and the <LeftBtn>.
  1215.  
  1216. * To mark a stream of characters:
  1217.  
  1218.   Place the mouse pointer on the beginning character to be marked.
  1219.   Press and hold the <LeftBtn>.  Then drag the mouse to the desired
  1220.   ending character, and release the <LeftBtn>.
  1221.  
  1222. * To mark a column:
  1223.  
  1224.   Place the mouse pointer on the beginning character to be marked.
  1225.   Press and hold <Ctrl> (on the keyboard) and the <LeftBtn>.  Then drag
  1226.   the mouse to the desired ending position, and release <Ctrl> and the
  1227.   <LeftBtn>.
  1228.  
  1229. * To mark a word:
  1230.  
  1231.   Place the mouse pointer on a character in the word to be marked.
  1232.   Click the <LeftBtn> twice (without moving the mouse pointer).
  1233.  
  1234.  
  1235. When the ending position for a Block is not displayed on the screen, you
  1236. can scroll the text in the necessary direction by dragging the mouse
  1237. pointer outside the current window on the appropriate side.  Then drag
  1238. the mouse pointer back inside the current window to stop scrolling and
  1239. continue marking.
  1240.  
  1241. Note:  To drag the mouse pointer outside a window, there must be a
  1242.        border, other editing window, or StatusLine onto which to move
  1243.        the mouse pointer; otherwise, the file cannot be scrolled in that
  1244.        direction.
  1245.  
  1246.  
  1247. ┌──────────────────────────────────────────────────────────────┐
  1248. │ Tip:                                                         │
  1249. │   To unmark a Block using the mouse, place the mouse pointer │
  1250. │   on a blank character on the screen and click the <LeftBtn> │
  1251. │   twice.  The editor attempts to mark a word at that         │
  1252. │   location.  Because the blank character is not a word, the  │
  1253. │   editor fails to mark a Block, though it succeeds in first  │
  1254. │   unmarking the existing Block.                              │
  1255. └──────────────────────────────────────────────────────────────┘
  1256.  
  1257.  
  1258. Using the Pop-Up Mouse Menu
  1259. ───────────────────────────
  1260.  
  1261. A special Mouse Menu allows you to use the mouse to easily display a
  1262. menu of Block-related commands.  To pop-up the Mouse Menu with the mouse
  1263. while in editing mode, click the <RightBtn> (with no menus, prompts, or
  1264. pick lists active).  You can then select one of the displayed
  1265. Block-related commands by placing the mouse pointer on the desired item
  1266. and clicking the <LeftBtn>.
  1267.  
  1268. To remove the Mouse Menu, click the <RightBtn> until the Mouse Menu is
  1269. removed from the screen, or move the mouse pointer off the Mouse Menu
  1270. and click the <LeftBtn>.
  1271.  
  1272.  
  1273. Working with Windows
  1274. ────────────────────
  1275.  
  1276. This section describes how to use the mouse to create, switch, resize,
  1277. and close windows.
  1278.  
  1279. * To open a horizontal window:
  1280.  
  1281.   Place the mouse pointer on the left border of the window to be split
  1282.   and click the <LeftBtn> twice.
  1283.  
  1284. * To switch to another window:
  1285.  
  1286.   Place the mouse pointer in the desired window, and click the
  1287.   <LeftBtn>.  To switch to another window and also position the editing
  1288.   cursor at the mouse position in that window, press and momentarily
  1289.   hold the <LeftBtn>.
  1290.  
  1291. * To resize a window:
  1292.  
  1293.   Place the mouse pointer on the StatusLine of the window to be resized.
  1294.   (Note that you cannot resize a window using a StatusLine located at
  1295.   the very top or very bottom of the screen.)  Press and hold the
  1296.   <LeftBtn>, so that a resizing bar appears.  Then drag the resizing bar
  1297.   to the desired location and release the <LeftBtn>.
  1298.  
  1299. * To zoom a window:
  1300.  
  1301.   Place the mouse pointer on the [] symbol in the StatusLine of the
  1302.   window to be zoomed, and click the <LeftBtn>.  While the window is
  1303.   zoomed, the [] symbol is replaced by the [] symbol.
  1304.  
  1305. * To "unzoom" a window:
  1306.  
  1307.   Place the mouse pointer on the [] symbol and click the <LeftBtn).
  1308.   The previous windows are restored to the screen, along with the []
  1309.   symbol.
  1310.  
  1311. * To close a window:
  1312.  
  1313.   Place the mouse pointer on the [■] symbol in the StatusLine of the
  1314.   window to be closed, and click the <LeftBtn>.
  1315.  
  1316.  
  1317. Summary of Mouse Operations
  1318. ───────────────────────────
  1319.  
  1320. ─────────────────────────────────────────────────────────────────
  1321.                                                Mouse Pointer
  1322. Block Marking           Mouse Button              Location
  1323. ──────────────    ───────────────────────    ──────────────────
  1324.  
  1325. Word              Click <LeftBtn> 2 times    Word in any window
  1326.  
  1327. Single line       Click <LeftBtn> 3 times    Text in any window
  1328.  
  1329. Multiple lines    Drag <Alt LeftBtn>         Text in any window
  1330.  
  1331. Column            Drag <Ctrl LeftBtn>        Text in any window
  1332.  
  1333. Characters        Drag <LeftBtn>             Text in any window
  1334.  
  1335.  
  1336. ─────────────────────────────────────────────────────────────────
  1337.  Cursor Movement
  1338.   and Scrolling       Mouse Button       Mouse Pointer Location
  1339. ─────────────────   ───────────────   ───────────────────────────
  1340.  
  1341. Position cursor     Click <LeftBtn>   Text in current window
  1342.  
  1343. Scroll down:
  1344.   1 line            Click <LeftBtn>    symbol
  1345.   multi lines       Hold <LeftBtn>     symbol
  1346.   1 page            Click <LeftBtn>   Scrollbar below vertical █
  1347.   multi pages       Hold <LeftBtn>    Scrollbar below vertical █
  1348.  
  1349. Scroll up:
  1350.   1 line            Click <LeftBtn>    symbol
  1351.   multi lines       Hold <LeftBtn>     symbol
  1352.   1 page            Click <LeftBtn>   Scrollbar above vertical █
  1353.   multi pages       Hold <LeftBtn>    Scrollbar above vertical █
  1354.  
  1355. Scroll left:
  1356.   1 column          Click <LeftBtn>    symbol
  1357.   multi columns     Hold <LeftBtn>     symbol
  1358.   1 TabWidth        Click <LeftBtn>   Scrollbar left of horiz. █
  1359.   multi TabWidths   Hold <LeftBtn>    Scrollbar left of horiz. █
  1360.  
  1361. Scroll right:
  1362.   1 column          Click <LeftBtn>    symbol
  1363.   multi columns     Hold <LeftBtn>     symbol
  1364.   1 TabWidth        Click <LeftBtn>   Scrollbar right of horiz. █
  1365.   multi TabWidths   Hold <LeftBtn>    Scrollbar right of horiz. █
  1366.  
  1367.  
  1368. ─────────────────────────────────────────────────────────────────
  1369.   Menus, Prompts                                Mouse Pointer
  1370.   and Pick Lists          Mouse Button             Location
  1371. ────────────────────    ────────────────    ─────────────────────
  1372.  
  1373. Pull down Main Menu     Click <LeftBtn>     StatusLine
  1374.  
  1375. Pop up Mouse Menu       Click <RightBtn>    Anywhere on screen
  1376.  
  1377. Select from Menu        Click <LeftBtn>     Menu / Pick List item
  1378. or Pick List
  1379.  
  1380. Accept StatusLine       Click <LeftBtn>     Anywhere in Prompt
  1381. or Prompt entry
  1382.  
  1383. Exit Menu               Click <RightBtn>    Anywhere on screen
  1384.                              OR
  1385.                         Click <LeftBtn>     Outside Menu area
  1386.  
  1387.  
  1388. Cancel/remove any       Click <RightBtn>    Anywhere on screen
  1389. Prompt or Pick List          OR
  1390.                         Click <LeftBtn>     Outside Prompt or
  1391.                                             Pick List
  1392.  
  1393.  
  1394. ─────────────────────────────────────────────────────────────────
  1395.                                                  Mouse Pointer
  1396.      Windows              Mouse Button              Location
  1397. ─────────────────   ────────────────────────   ──────────────────
  1398.  
  1399. Open                Click <LeftBtn> 2 times    Left window border
  1400.  
  1401. Switch window       Click <LeftBtn>            New window
  1402.  
  1403. Switch window and   Hold <LeftBtn>             Text of new window
  1404. position cursor
  1405.  
  1406. Resize              Drag <LeftBtn>             Window StatusLine
  1407.  
  1408. Zoom                Click <LeftBtn>            [] symbol
  1409.  
  1410. Unzoom              Click <LeftBtn>            [] symbol
  1411.  
  1412. Close               Click <LeftBtn>            [■] symbol
  1413.  
  1414.  
  1415. FILES
  1416. ──────────────────────────────────────────────────────────────────────
  1417.  
  1418. Creating New Files
  1419. ──────────────────
  1420.  
  1421. There are three different ways to create new files, ready for editing.
  1422.  
  1423. 1. From the DOS command line, enter <Q> followed by one or more new
  1424.    filenames.  Each filename must be separated by a space.  For example,
  1425.    typing:
  1426.  
  1427.        q  file1  b:file2  \dir1\file3  <Enter>
  1428.  
  1429.    will create "file1" in the current directory, "file2" on disk drive
  1430.    B, and "file3" in the directory "dir1".
  1431.  
  1432.  
  1433. ┌──────────────────────────────────────────────────────────────┐
  1434. │ Tip:                                                         │
  1435. │   When specifying filenames, you may use full path           │
  1436. │   designations if desired.                                   │
  1437. └──────────────────────────────────────────────────────────────┘
  1438.  
  1439.  
  1440. 2. From the DOS command line, type "Q <Enter>".  The editor responds
  1441.    with the prompt:
  1442.  
  1443.    ┌───────────────────────────────────────────────────────────┐
  1444.    │  File(s) to edit:                                         │
  1445.    │                                                           │
  1446.    └───────────────────────────────────────────────────────────┘
  1447.  
  1448.    Enter one or more new filenames, each separated by a space.
  1449.  
  1450. 3. From within the editor, execute the EditFile <Alt E> command. The
  1451.    above prompt will appear.  Again, you may enter one or more new
  1452.    filenames, each separated by a space.
  1453.  
  1454.  
  1455. Loading Existing Files
  1456. ──────────────────────
  1457.  
  1458. Loading existing files works exactly like creating new files (in the
  1459. previous section) with two exceptions:
  1460.  
  1461. * The filename(s) specified must exist on disk.
  1462.  
  1463. * The filename(s) may contain wildcard characters (*, ?).
  1464.  
  1465. You can configure the editor to respond to wildcarded filename entries
  1466. in one of two ways:
  1467.  
  1468. 1. To load all matching files into the editor.
  1469.  
  1470. 2. To show all the matching filenames in a "pick" listing.  You can then
  1471.    use the cursor keys to find the file you want and press <Enter> to
  1472.    load it into the editor.
  1473.  
  1474. You can also configure the editor to use default file extensions, such
  1475. as "doc" and "pas" when entering filenames.  For more information on
  1476. configuring these options, refer to the "General Options" section of
  1477. Chapter 2.
  1478.  
  1479.  
  1480. In the default configuration of the editor, a handy macro for loading a
  1481. file has been assigned to <Ctrl ]>.  This macro will take the filename
  1482. at the current cursor position in the text, and load that file into the
  1483. editor.  For example, if you have the following text in a program source
  1484. file:
  1485.  
  1486.     #include "d:\tsejr\src\local.h"
  1487.  
  1488. you could position the cursor anywhere within the specified path and
  1489. filename, and press <Ctrl ]>.  The editor would then load that file and
  1490. make it the current file.
  1491.  
  1492.  
  1493. Locating a File on Disk
  1494. ───────────────────────
  1495.  
  1496. The LocateFile command in the editor allows you to easily locate a file
  1497. when you do not remember the directory in which that file resides, or
  1498. you do not recall the exact name of the file.
  1499.  
  1500. * LocateFile <Esc><F><A>
  1501.   This command searches an entire drive for a specified filename.  A
  1502.   list of all matching filenames is displayed, allowing you to select an
  1503.   appropriate file to edit.
  1504.  
  1505.   When you execute this command, it prompts you for the filename for
  1506.   which to search.  A complete name or an ambiguous name (with DOS
  1507.   wildcard characters) can be specified.  By default, the current drive
  1508.   is searched.  However, a different drive can be searched by prefacing
  1509.   the filename with the drive name (such as, d:foo).  The default or
  1510.   specified drive is then searched, and all matching filenames are
  1511.   displayed in a pick list.  To select the desired file to edit,
  1512.   position the cursor bar on that filename in the pick list, and press
  1513.   <Enter>.  To remove the pick list (and terminate the command), press
  1514.   <Esc>.
  1515.  
  1516. If you assign LocateFile to a key, you can execute this command within
  1517. any "File(s) to edit:" prompt (such as displayed by the EditFile <Alt E>
  1518. command).
  1519.  
  1520.  
  1521. Changing the Current Directory from within the Editor
  1522. ─────────────────────────────────────────────────────
  1523.  
  1524. The editor's DirTree command provides a very helpful visual means for
  1525. changing your current directory from within the editor.
  1526.  
  1527. * DirTree <Esc><F><I>
  1528.   This command displays a pick list of all the drives on your system,
  1529.   along with a directory tree for the current drive.  The current drive
  1530.   or directory can be changed from this pick list.
  1531.  
  1532.   Assuming your current drive is the D: drive, and you also have A:, B:,
  1533.   C:, and E: drives available on your system, following is an example of
  1534.   what the directory tree pick list might look like when you execute
  1535.   this command:
  1536.  
  1537.   ┌──────── Dir Tree ─────────┐
  1538.   │   A:                      │
  1539.   │   B:                      │
  1540.   │   C:                      │
  1541.   │   D:                      │
  1542.   │   ├───TSEJR               │
  1543.   │   │   ├───MAC             │
  1544.   │▒▒▒│▒▒▒├───DOC▒▒▒▒▒▒▒▒▒▒▒▒▒│
  1545.   │   │   └───SPELL           │
  1546.   │   │       ├───TEMP        │
  1547.   │   │       └───WORD        │
  1548.   │   └───TSEPRO              │
  1549.   │       ├───DOC             │
  1550.   │       └───MAC             │
  1551.   │   E:                      │
  1552.   └───────────────────────────┘
  1553.  
  1554.   To switch to a different directory, move the cursor bar to the desired
  1555.   entry in the tree, and press <Enter>.
  1556.  
  1557.   To change to a different drive, move the cursor bar to the desired
  1558.   drive, and press <Enter>.  The selected drive becomes the current
  1559.   drive, and the directory tree for that drive is displayed in the pick
  1560.   list.
  1561.  
  1562.   To remove the directory tree pick list, press <Esc>.
  1563.  
  1564.  
  1565. Invoking the Editor at a Specific Line Number
  1566. ─────────────────────────────────────────────
  1567.  
  1568. A DOS command-line option (-n) allows you to specify a line number in a
  1569. file on which to position the cursor when the file is loaded into the
  1570. editor.  From the DOS prompt type:
  1571.  
  1572.     q  <filename to edit>  -n<specific line number>
  1573.  
  1574. For example, to load file1 at line number 125, from the DOS command line
  1575. you would enter:
  1576.  
  1577.     q  file1  -n125
  1578.  
  1579. Or, if you prefer:
  1580.  
  1581.     q  -n125  file1
  1582.  
  1583.  
  1584. Multiple Files:  The Ring
  1585. ─────────────────────────
  1586.  
  1587. The editor allows as many files as will fit into memory to be loaded at
  1588. the same time.  All of these files can then be edited by simply
  1589. switching back and forth between them without having to save and load
  1590. each file individually.  Switching between files is accomplished very
  1591. quickly and easily.
  1592.  
  1593. A simple explanation of how the editor handles multiple files will help
  1594. you in manipulating and editing multiple files.
  1595.  
  1596. All files that are loaded into the editor are maintained in a "ring".
  1597. As we describe each of the commands used to manipulate the files in the
  1598. ring, refer to the illustration below.
  1599.  
  1600. ┌──────────────────────────────────────────────────────────────┐
  1601. │              ┌────┐               ┌────┐                     │
  1602. │              │    │               │▒▒▒▒│                     │
  1603. │      ┌─────> │ A  │ <───<Ctrl K P>│▒B▒▒│<Alt N>              │
  1604. │      │       │    │               │▒▒▒▒│      │              │
  1605. │      │       └────┘               └────┘      │              │
  1606. │      v         ^                  <Alt E>     v              │
  1607. │    ┌────┐      │                    │       ┌────┐           │
  1608. │    │    │      │                    │       │    │           │
  1609. │    │ F  │ <────┼────────────────────┼─────> │ C  │           │
  1610. │    │    │      │                    │       │    │           │
  1611. │    └────┘      │                    │       └────┘           │
  1612. │      ^         v                    v         ^              │
  1613. │      │       ┌────┐               ┌────┐      │              │
  1614. │      │       │    │               │    │      │              │
  1615. │      └─────> │ E  │ <────────── > │ D  │ <────┘              │
  1616. │              │    │               │    │                     │
  1617. │              └────┘               └────┘                     │
  1618. │                                                              │
  1619. │                        The "Ring"                            │
  1620. └──────────────────────────────────────────────────────────────┘
  1621.  
  1622. In the ring we see that six files have been loaded into the editor.  You
  1623. can, of course, load many more files - as many as your computer's memory
  1624. will allow.
  1625.  
  1626. Assume the file currently being edited is file "B".  You may then move
  1627. from one file to another in any of the following ways:
  1628.  
  1629. * Enter the NextFile <Alt N> command.  You will now be editing the next
  1630.   file in the ring, file "C".
  1631.  
  1632. * Enter the PrevFile <Ctrl K P> command. You will now be editing the
  1633.   previous file in the ring, file "A".
  1634.  
  1635. * Enter the EditFile <Alt E> command. The editor will prompt for a
  1636.   filename.  You may enter the name of any file in the ring.  The editor
  1637.   will make the entered file the current one for editing.
  1638.  
  1639. * Enter the ListFiles <Esc><F><T> command.  You will be shown a
  1640.   scrollable list of all loaded files, from which you may select a
  1641.   different file to edit.
  1642.  
  1643.  
  1644. You may, at any time, add files to the ring or discard files from the
  1645. ring.  If you add a new file to the ring using the EditFile command, it
  1646. will become the current file and the old current file will become the
  1647. previous file.  If you delete a file from the ring the previous file
  1648. will become the current file.
  1649.  
  1650.  
  1651. ┌──────────────────────────────────────────────────────────────┐
  1652. │ Tip:                                                         │
  1653. │   When loading files, be aware that the editor will not load │
  1654. │   two copies of the same file.  If you issue the EditFile    │
  1655. │   command for a file already loaded, that file will become   │
  1656. │   the new current file.                                      │
  1657. └──────────────────────────────────────────────────────────────┘
  1658.  
  1659.  
  1660. Saving Files and Exiting
  1661. ────────────────────────
  1662.  
  1663. The editor provides several different ways to save files, discard files,
  1664. and exit the editor.  A set of five basic commands provides assorted
  1665. combinations of saving, discarding, and exiting in order to suit
  1666. individual preferences.
  1667.  
  1668. We recommend selecting one or two methods with which you feel most
  1669. comfortable and using them consistently.
  1670.  
  1671. The table below summarizes these commands and their effects.
  1672.  
  1673. ┌─────────────────────┬──────────────────────┬───┬───┬───┬───┬──────┐
  1674. │Command for Single   │ Command for Multiple │   │   │   │   │      │
  1675. │File or Current File │ Files                │ 1 │ 2 │ 3 │ 4 │  5   │
  1676. │─────────────────────┼──────────────────────┼───┼───┼───┼───┼──────┤
  1677. │Exit      <Ctrl K D> │ GExit     <Alt X>    │   │ X │   │ X │ X(a) │
  1678. │                     │                      │   │   │   │   │      │
  1679. │File      <Ctrl K X> │ GFile     <Alt F><G> │ X │   │   │ X │ X(a) │
  1680. │                     │                      │   │   │   │   │      │
  1681. │PQuit     <Ctrl K Q> │ GPQuit    <Alt Q><Q> │   │   │ X │ X │ X(a) │
  1682. │                     │                      │   │   │   │   │      │
  1683. │Quit (b)             │                      │   │   │   │ X │ X    │
  1684. │                     │                      │   │   │   │   │      │
  1685. │SaveFile  <Ctrl K S> │ GSave     <Alt Y>    │ X │   │   │   │      │
  1686. └─────────────────────┴──────────────────────┴───┴───┴───┴───┴──────┘
  1687.  
  1688. 1. Edited file(s) are saved unconditionally
  1689.  
  1690. 2. User prompted to save edited files (Y/N)
  1691.  
  1692. 3. User warned that file changes may be lost
  1693.  
  1694. 4. File(s) are discarded from editor
  1695.  
  1696. 5. The editor is terminated
  1697.  
  1698. (a) The Exit, File, and PQuit commands can be configured to terminate
  1699.     or not terminate the editor.  Refer to the "General Options"
  1700.     section of Chapter 2 for more information.
  1701.  
  1702. (b) USE WITH CAUTION!
  1703.  
  1704.  
  1705. Read-Only Files
  1706. ───────────────
  1707.  
  1708. Read-Only files can be loaded and edited.  However, they cannot be
  1709. saved.
  1710.  
  1711. When a Read-Only file is initially loaded, the message "File is
  1712. READONLY" is displayed at the top of the screen.  If you subsequently
  1713. attempt to save a Read-Only file, the following message appears:
  1714.  
  1715. ╔════════════════════════════════════════════╗
  1716. ║Cannot save READONLY files - Press <Esc>    ║
  1717. ╚════════════════════════════════════════════╝
  1718.  
  1719. To save a Read-Only file, simply save it under a different name using
  1720. the WriteBlock <Alt W> command (be sure there are no marked Blocks in
  1721. the file), or change the filename using the ChangeFilename <Alt O>
  1722. command and then save the file under the new name.
  1723.  
  1724.  
  1725. VIEWING AND GETTING AROUND IN THE TEXT
  1726. ──────────────────────────────────────────────────────────────────────
  1727.  
  1728. The editor is quite versatile in allowing you to move around in the
  1729. text. With simple keystrokes you can either move a few characters or
  1730. lines at a time or move from one end of the file to another.  You can go
  1731. to specific lines in the file or go to each occurrence of a particular
  1732. string of characters.  And with the editor's windows, you can view
  1733. multiple files at a time or have multiple views of the same file.
  1734.  
  1735. As you will see, there are quite a few commands available for moving
  1736. around in your text.  If you are not already familiar with these types
  1737. of commands, try them out.  You will probably find some new commands
  1738. that will be useful when editing.
  1739.  
  1740.  
  1741. Cursor Movement
  1742. ───────────────
  1743.  
  1744.                        Moving Through a File
  1745.  
  1746. The editor provides a number of commands to allow you to move about in a
  1747. file.
  1748.  
  1749. * BegFile <Ctrl PgUp>, EndFile <Ctrl PgDn>
  1750.   As their names imply, these commands move the cursor to the beginning
  1751.   or end of the current file.  BegFile positions the cursor at column
  1752.   one on the first line of the file.  EndFile positions the cursor after
  1753.   the last non-blank character on the last line of the file.
  1754.  
  1755.   If you are in the process of marking a Block using the MarkColumn
  1756.   command, the cursor column position does not change when you execute
  1757.   BegFile or EndFile.  (This is true only while you have marked the
  1758.   beginning of a Block using MarkColumn, but have not marked the end of
  1759.   the Block.)
  1760.  
  1761. * PageUp <PgUp>, PageDown <PgDn>
  1762.   PageUp scrolls the text toward the top of the file, one page-full,
  1763.   less one line, at a time.  PageDown scrolls the text toward the end of
  1764.   the file, one page-full, less one line, at a time.
  1765.  
  1766. * HalfPgUp and HalfPgDn
  1767.   These commands work exactly like the PageUp and PageDown commands,
  1768.   except that they scroll only one-half page at a time.
  1769.  
  1770. * NextPara, PrevPara, EndPara
  1771.   These commands move the cursor to the start of the next, previous, or
  1772.   to the end of the current paragraph.
  1773.  
  1774.  
  1775. ┌──────────────────────────────────────────────────────────────┐
  1776. │ Tip:                                                         │
  1777. │   All editor commands, including those without default key   │
  1778. │   assignments, can be assigned as the user desires, to       │
  1779. │   almost any key.  Refer to the "Keyboard Configuration"     │
  1780. │   section of Chapter 2 for more information.                 │
  1781. └──────────────────────────────────────────────────────────────┘
  1782.  
  1783.  
  1784. * ScrollUp <Ctrl W>, LineUp
  1785.   These commands scroll the text one line at a time toward the beginning
  1786.   of the file.
  1787.  
  1788.   The ScrollUp command causes the cursor to remain on the same line of
  1789.   text until it reaches the bottom of the screen, while the LineUp
  1790.   command causes the cursor to remain stationary on the screen.
  1791.  
  1792. * ScrollDown <Ctrl Z>, LineDown
  1793.   These commands scroll the text one line at a time toward the end of
  1794.   the file.
  1795.  
  1796.   The ScrollDown command causes the cursor to remain on the same line of
  1797.   text until it reaches the top of the screen, while the LineDown
  1798.   command causes the cursor to remain stationary on the screen.
  1799.  
  1800. * GotoLine <Ctrl J>
  1801.   Upon entering the GotoLine command, the editor prompts with:
  1802.  
  1803.   ┌──────────────────────────┐
  1804.   │Go to line:               │
  1805.   │                          │
  1806.   └──────────────────────────┘
  1807.  
  1808.   Type a line number and press <Enter>.  The cursor then "jumps" to the
  1809.   specified line number.  An easy way to move about quickly in your text
  1810.   is to keep track of critical positions by noting their line number,
  1811.   which is displayed on the StatusLine, and then using this command to
  1812.   "jump" to those positions.
  1813.  
  1814. * GotoBlockBeg <Ctrl Q B>, GotoBlockEnd <Ctrl Q K>
  1815.   These commands move the cursor to the beginning or to the end of the
  1816.   currently marked Block.  If the marked Block is in another file, the
  1817.   editor makes that file the current file and then moves you to the
  1818.   beginning or end of the Block.  For more information on using marked
  1819.   Blocks, refer to the "Block Commands" section in this chapter.
  1820.  
  1821. * PrevPosition <Ctrl Q P>
  1822.   This command can be very handy.  It moves you to the cursor's previous
  1823.   position.  Although it is not of much use if you have only moved a
  1824.   character or two, it can be useful for larger jumps of the cursor.
  1825.  
  1826.   For example, perhaps you are in the middle of a file and want to check
  1827.   something at the very beginning of the file.  To go to the beginning,
  1828.   you would simply enter BegFile <Ctrl PageUp>.  After you look at the
  1829.   beginning, you want to go back to where you were previously.  You
  1830.   could use PageDown, but that could be tedious, especially if your file
  1831.   is large.  The easiest way would be to enter PrevPosition, and with a
  1832.   single keystroke, you are immediately back where you started.
  1833.  
  1834.   PrevPosition can only take you back to the cursor's immediately
  1835.   previous position.  If there are intervening keystrokes that move the
  1836.   cursor, PrevPosition will move you back to the most recent location of
  1837.   the cursor.
  1838.  
  1839. * NextEqualIndent, PrevEqualIndent
  1840.   These commands move the cursor to the next or previous line (as
  1841.   appropriate) whose text starts in the same column as the current line.
  1842.   If the current line is blank, the cursor moves to the next or previous
  1843.   blank line.
  1844.  
  1845.  
  1846.                     Moving Around on the Screen
  1847.  
  1848. These commands affect the cursor position within the current screen of
  1849. displayed text.
  1850.  
  1851. * BegScreen <Ctrl Home>, EndScreen <Ctrl End>
  1852.   These commands move you to the first or last line of the screen (or
  1853.   current window if you have windows open).  The cursor's column
  1854.   position does not change.
  1855.  
  1856. * BegLine <Home>, EndLine <End>
  1857.   You are probably already familiar with these commands.  BegLine moves
  1858.   the cursor to the beginning, or column one, of the current cursor
  1859.   line. EndLine moves the cursor to the last non-blank character of the
  1860.   current cursor line.
  1861.  
  1862. * FirstNonWhite
  1863.   This command is intended as a replacement for the BegLine command.  It
  1864.   positions the cursor on the first non-white (space) character on the
  1865.   current line, or column 1 if the line is blank.  An interesting
  1866.   variation is a command that toggles between the beginning of the line
  1867.   and the first non-white character on that line:
  1868.  
  1869.       home  FirstNonWhite  MacroQuitTrue  BegLine
  1870.  
  1871.   Refer to the "Keyboard Configuration" section of Chapter 2 for more
  1872.   information on changing command assignments in the editor.
  1873.  
  1874. * ScreenLeft <Alt F5>, ScreenRight <Alt F6>
  1875.   These commands scroll the entire text to the left or right one column
  1876.   at a time.  You can change the number of columns which are shifted
  1877.   each time using the configuration program.  Refer to the
  1878.   "Colors/Screen Options" section of Chapter 2 for more information.
  1879.  
  1880. * WordLeft <Ctrl Cursor Left>, WordRight <Ctrl Cursor Right>
  1881.   These commands move the cursor to the first character of the previous
  1882.   or following word in the text.
  1883.  
  1884. * MakeCtrofScreen <Shift F5>, MakeTopofScreen <F5>, and MakeBotofScreen
  1885.   These three commands change the position of the cursor line on the
  1886.   screen (or window, if you have windows open).  They can be useful if
  1887.   you prefer to work at the bottom or top of the screen or if you want
  1888.   to keep the text surrounding your cursor line in view.
  1889.  
  1890.   The MakeCtrofScreen command scrolls the text on the screen (either up
  1891.   or down) until the cursor line is the center line of the screen.
  1892.  
  1893.   The MakeTopofScreen command scrolls the text upward until the cursor
  1894.   line is the top line of the screen.
  1895.  
  1896.   The MakeBotofScreen command scrolls the text downward until the cursor
  1897.   line is the last line of the screen.
  1898.  
  1899.  
  1900.                    Moving By Lines and Characters
  1901.  
  1902. These commands enable you to move in short increments through the text.
  1903.  
  1904. * CursorLeft <Cursor Left>, CursorRight <Cursor Right>
  1905.   These commands move the cursor one column to the right or left on the
  1906.   cursor line.
  1907.  
  1908.   When you use CursorLeft, the cursor stops when it reaches the left
  1909.   edge of the screen, unless the text has been scrolled to the left.  In
  1910.   that case it scrolls the text to the right one column at a time until
  1911.   it reaches column one.
  1912.  
  1913.   When you use CursorRight and the cursor reaches the right edge of the
  1914.   screen, it begins to scroll the text to the left.  It stops scrolling
  1915.   when it reaches the maximum line length.
  1916.  
  1917.   If you prefer that cursor left/right would wrap at the beginning and
  1918.   end of lines, you can assign the following macros in your QCONFIG.DAT
  1919.   file in lieu of cursor left/right, respectively:
  1920.  
  1921.     * Left and Right cursor definitions that wrap to previous/next line
  1922.     * like WordStar does
  1923.  
  1924.     cursorleft
  1925.                   CursorLeft     * try to go left
  1926.                   MacroQuitTrue  * succeed!  then we are done
  1927.                   CursorUp       * else try to go to prev line
  1928.                   MacroQuitFalse * if fail, then at top of file. done.
  1929.                   EndLine        * jump to end of previous line.
  1930.  
  1931.     cursorright
  1932.                   isEndLine      * are we at end of line?
  1933.                   JTrue down:    * if so, go to down
  1934.                   CursorRight    * else right one
  1935.                   MacroQuit      * Quit macro
  1936.                 down:
  1937.                   CursorDown     * try to go to next line
  1938.                   MacroQuitFalse * if not, go to end
  1939.                   BegLine        * else go to beginning of line
  1940.  
  1941.  
  1942.   Refer to the "Keyboard Configuration" section of Chapter 2 for more
  1943.   information on changing key/command assignments.
  1944.  
  1945.  
  1946. * CursorUp <Cursor Up>, CursorDown <Cursor Down>
  1947.   These commands move the cursor up or down in the file one line at a
  1948.   time.  The cursor's column position does not change.
  1949.  
  1950. * GotoColumn <Esc><S><G>
  1951.   Upon entering the GotoColumn command, the editor prompts with:
  1952.  
  1953.   ┌──────────────────────────┐
  1954.   │Go to column:             │
  1955.   │                          │
  1956.   └──────────────────────────┘
  1957.  
  1958.   Type a column number and press <Enter>.  The cursor then moves to the
  1959.   specified column number.
  1960.  
  1961.  
  1962. Using Windows
  1963. ─────────────
  1964.  
  1965. The editor provides the ability to view different areas of files (either
  1966. multiple files or the same file) at the same time, through the use of
  1967. windows.  A window is a portion of the screen that allows you to view
  1968. text.  You can divide your screen into as many as eight horizontal
  1969. windows.  You can then view as many as eight different files through
  1970. these windows or have multiple views of a single file.  This capability
  1971. can be quite helpful for comparing text, copying text, and moving text.
  1972.  
  1973. An example of a screen split into three windows is shown below.
  1974. ┌──────────────────────────────────────────────────────────────┐
  1975. │ L 1    C 1    IAW         411K     *c:\file1                 │
  1976. │                                                              │
  1977. │ This window is a view of file number 1 at line number 1.     │
  1978. │ This file is being edited with Insert, AutoIndent, and       │
  1979. │ WordWrap modes all ON.  This file has been updated.          │
  1980. │                                                              │
  1981. │                                                              │
  1982. │                                                              │
  1983. │                                                              │
  1984. │ L 483  C 12   IAW         411K     *c:\file1                 │
  1985. │                                                              │
  1986. │ This window is a view of file number 1 at line number 483.   │
  1987. │                                                              │
  1988. │                                                              │
  1989. │                                                              │
  1990. │                                                              │
  1991. │ L 15   C 14   I           411K      c:\file2                 │
  1992. │              ▄                                               │
  1993. │ This window is a view of file number 2.                      │
  1994. │ This file is being edited with Insert mode ON, while         │
  1995. │ AutoIndent and WordWrap modes are OFF.  This file has not    │
  1996. │ been updated.                                                │
  1997. └──────────────────────────────────────────────────────────────┘
  1998.  
  1999.  
  2000.                           Creating Windows
  2001.  
  2002. To create a window, use the HorizontalWindow <Ctrl O H> command. The
  2003. screen will be split into two halves, or windows, each window having its
  2004. own StatusLine.  The cursor will reside in the newly created window,
  2005. making it the current window.
  2006.  
  2007. If only one file is being edited, the newly created window will simply
  2008. be an additional view of the same file.  The editor will not load more
  2009. than one copy of the same file.
  2010.  
  2011. If multiple files are being edited, the newly created window will be a
  2012. view of the next file in the ring.  (Refer to the "Multiple Files"
  2013. section in this chapter.)  If desired, you can configure the editor to
  2014. prompt for the name of the file to be viewed in the new window instead
  2015. of the editor automatically selecting the next file in the ring.  Refer
  2016. to the "General Options" section of Chapter 2 for more information.
  2017.  
  2018. Once the screen has been split into windows, entering the
  2019. HorizontalWindow command again will affect the current window.  All
  2020. other windows will remain unchanged.
  2021.  
  2022.  
  2023.                          Switching Windows
  2024.  
  2025. When multiple windows are opened, editing will take place only in the
  2026. current window (the window containing the cursor).  For editing text in
  2027. other windows, two commands are provided to switch from one window to
  2028. another.
  2029.  
  2030. * PrevWindow <Ctrl O P>
  2031.   This command moves the cursor to the window above the current window.
  2032.   If the current window is at the top of the screen, the cursor moves to
  2033.   the last window on the screen.
  2034.  
  2035. * NextWindow <Ctrl O N>
  2036.   This command moves the cursor to the window below the current window.
  2037.   If the current window is at the bottom of the screen, the cursor moves
  2038.   to the first window on the screen.
  2039.  
  2040.  
  2041.                         Changing Window Size
  2042.  
  2043. You can change the size of any window on the screen with the commands
  2044. below.
  2045.  
  2046. * GrowWindow <Ctrl O G>, ShrinkWindow <Ctrl O S>, ResizeWindow <Esc><W><R>
  2047.   These commands allow you to change the size of the current window.
  2048.   Upon entering any of these commands, you are prompted to change the
  2049.   size of the window by using the cursor up and cursor down keys.
  2050.  
  2051. * ZoomWindow <Ctrl O Z>
  2052.   This command causes the current window to fill the entire screen, as
  2053.   all other windows disappear.  To restore the screen with all windows,
  2054.   simply press <Ctrl O Z> again.  Be careful not to confuse this command
  2055.   with the OneWindow command (see below).  OneWindow fills the screen
  2056.   with the current window (like ZoomWindow does), but it also closes all
  2057.   windows except the current one.  ZoomWindow leaves the other windows
  2058.   intact, even though they are hidden from view.
  2059.  
  2060. * MaximizeWindow <Ctrl O M>
  2061.   This command causes the current window to be made as large as
  2062.   possible, by making all other windows as small as possible.
  2063.  
  2064.  
  2065.                           Closing Windows
  2066.  
  2067. There are two commands to close windows.
  2068.  
  2069. * CloseWindow <Ctrl O C>
  2070.   This command closes the current window.  The current window disappears
  2071.   and the cursor is placed in the window above the closed window, making
  2072.   it the new current window.  When the closed window is at the top of the
  2073.   screen, the window below it becomes the new current window.
  2074.  
  2075. * OneWindow <Ctrl O O>
  2076.   This command closes all windows except the current window.  The
  2077.   current window then fills the entire screen.
  2078.  
  2079. Note that closing a window does not discard files from the editor.
  2080.  
  2081.  
  2082.                   Synchronized Scrolling in Windows
  2083.  
  2084. You can scroll simultaneously through multiple windows by setting
  2085. Synchronized Scrolling mode ON.  This causes cursor movement and
  2086. scrolling activity in the current window to also occur in each of the
  2087. non-current windows.
  2088.  
  2089. * ToggleSyncScroll <Ctrl O Y>
  2090.   This command switches Synchronized Scrolling mode ON and OFF.
  2091.  
  2092.   When this mode is ON, the editor attempts to synchronize logical
  2093.   cursor movement, as well as scrolling, in all windows, based on cursor
  2094.   movement and scrolling activity in the current window.  However, the
  2095.   logical cursor position and size of non-current windows may affect
  2096.   scrolling that occurs when the cursor reaches a window edge.  Under
  2097.   certain conditions, movement of the cursor may cause scrolling to
  2098.   occur in some non-current windows before it begins in the current
  2099.   window.
  2100.  
  2101.   When Synchronized Scrolling mode is ON, an "S" appears on the
  2102.   StatusLine.
  2103.  
  2104.  
  2105. FINDING AND REPLACING TEXT
  2106. ──────────────────────────────────────────────────────────────────────
  2107.  
  2108. Finding Text
  2109. ────────────
  2110.  
  2111. * Find <Ctrl Q F>
  2112.   This command searches for a specific string of characters in the file.
  2113.   Upon entering the Find command, the editor prompts for the string of
  2114.   characters for which to search.
  2115.  
  2116.   ┌────────────────────────────────────────────────────────────┐
  2117.   │Search for:                                                 │
  2118.   │                                                            │
  2119.   └────────────────────────────────────────────────────────────┘
  2120.  
  2121.   Enter the desired string of characters and press <Enter>.
  2122.  
  2123.   The editor then prompts for the search options to use.
  2124.  
  2125.   ┌─────────────────────────────────────────────────────────────┐
  2126.   │Options [BGLIW] (Back Global Local Ignore-case Whole-words): │
  2127.   │                                                             │
  2128.   └─────────────────────────────────────────────────────────────┘
  2129.  
  2130.   Enter the letter(s) corresponding to the option(s) you want and press
  2131.   <Enter>.  The available options are:
  2132.  
  2133.     [B] = Search backward from the current cursor position.  When you
  2134.           choose "B", the editor searches backward from the cursor
  2135.           position toward the beginning of the file.  Otherwise, it
  2136.           searches from the cursor position toward the end of the file.
  2137.  
  2138.     [G] = Global search.  Begins searching from the beginning of the
  2139.           file, or from the beginning of the marked Block if the [L]
  2140.           option is also selected.
  2141.  
  2142.     [L] = Local search.  Limits the search to the currently marked
  2143.           Block.  If the cursor is outside the marked Block, or the [G]
  2144.           option is also selected, the search starts at the beginning of
  2145.           the marked Block.  Otherwise, the search starts at the current
  2146.           cursor position inside the marked Block.
  2147.  
  2148.     [I] = Ignore the case (capital or lowercase) of the search string.
  2149.           For example, "Hello" would match "hello" if this option is
  2150.           chosen.  This option is set ON by default.
  2151.  
  2152.     [W] = Search for whole words only.  For example, when this option is
  2153.           chosen, the word "sent" matches only the actual word "sent".
  2154.           Otherwise, any other words that contain the string (such as
  2155.           "sentence" or "absent") would also match.
  2156.  
  2157.     [^] = Anchor the search string to the beginning of the line (or
  2158.           Block).  The search operation attempts to locate a matching
  2159.           string that begins in column 1 of a line; or, if the [L]
  2160.           option is also selected, it attempts to locate a matching
  2161.           string that begins in the first column of the Block.
  2162.  
  2163.     [$] = Anchor the search string to the end of the line (or Block).
  2164.           The search operation attempts to locate a matching string that
  2165.           ends on the last character of a line; or, if the [L] option is
  2166.           also selected, it attempts to locate a matching string that
  2167.           ends on the last character in the Block (or that ends on the
  2168.           last character of a line, if the line ends in the Block).
  2169.  
  2170.  
  2171.   Once the Find command is executed, the cursor is placed at the first
  2172.   occurrence of the search string found in the text.  To locate
  2173.   subsequent occurrences of the search string, simply enter the
  2174.   RepeatFind command (described below).
  2175.  
  2176.   If you want to search for a string and replace it with another string,
  2177.   refer to the "Replacing Text" section in this chapter.
  2178.  
  2179.  
  2180. ┌──────────────────────────────────────────────────────────────┐
  2181. │ Tip:                                                         │
  2182. │   The placement of the found text is configurable.  It can   │
  2183. │   either be placed on the same relative row on which the     │
  2184. │   cursor line initially started, or centered.  Refer to the  │
  2185. │   ToggleCenterFinds command in Chapter 3, and to the option  │
  2186. │   "Should Find and RepeatFind center the found text" in the  │
  2187. │   "General Options" section of Chapter 2.  On the menus,     │
  2188. │   press <Esc><S><C>.                                         │
  2189. └──────────────────────────────────────────────────────────────┘
  2190.  
  2191.  
  2192. * RepeatFind <Ctrl L>
  2193.   This command reissues the last search command that was executed; that
  2194.   is, the last Find, FindReplace, or IncrementalSearch command.  It
  2195.   begins searching one position beyond the current cursor position if a
  2196.   forward search had previously been performed, or one position before
  2197.   the current cursor position if a backward search had previously been
  2198.   performed.  All search or replace options, other than [G] (Global),
  2199.   that were in effect for the previous execution of the operation, are
  2200.   in effect for RepeatFind.
  2201.  
  2202.  
  2203. * IncrementalSearch <Ctrl I>
  2204.   This is a specialized search command.  It causes the editor to begin
  2205.   searching for a string while you type. As you enter each new
  2206.   character, the editor attempts to locate a string in the text that
  2207.   matches the incremented search string.  If you type a character that
  2208.   would expand the search string to a string that cannot be matched in
  2209.   the text, that character is not added to the search string.
  2210.  
  2211.   When you execute IncrementalSearch, the editor displays the following
  2212.   prompt on the StatusLine:
  2213.  
  2214.       I-Search (^N=Next ^P=Prev ^B=Beginning):
  2215.  
  2216.   Enter the string to be located.  The cursor remains in the
  2217.   IncrementalSearch prompt until you terminate the operation by pressing
  2218.   <Enter> or <Esc>.
  2219.  
  2220.   As you type characters, a case-insensitive, forward search is
  2221.   performed, beginning at the text position where the cursor was located
  2222.   when you invoked IncrementalSearch.  As each matching string is found,
  2223.   the string is highlighted in the text.  When a search character is
  2224.   entered that does not match the next character of the
  2225.   currently-located text, the editor searches forward and moves to the
  2226.   first occurrence that does match the newly-expanded search string.  If
  2227.   a match including that character cannot be located, the character is
  2228.   rejected and the currently-located text remains highlighted.
  2229.  
  2230.   Within the IncrementalSearch prompt, you can use the following keys to
  2231.   perform the operations indicated:
  2232.  
  2233.   <Backspace>    Deletes the last character typed within the
  2234.                  IncrementalSearch prompt.  The editor re-locates the
  2235.                  previously-highlighted string.
  2236.  
  2237.   <Ctrl N>       Searches forward for the next occurrence of the
  2238.                  current IncrementalSearch string.
  2239.  
  2240.   <Ctrl P>       Searches backward for the previous occurrence of the
  2241.                  current IncrementalSearch string.
  2242.  
  2243.   <Ctrl B>       Searches forward from the beginning of the file for
  2244.                  the first occurrence of the current IncrementalSearch
  2245.                  string.
  2246.  
  2247.  
  2248. * Match <Alt F3>
  2249.   This is a specialized search command.  It acts only on the characters
  2250.   ( ), { }, [ ], and < >.  With the cursor placed on one of these
  2251.   characters, enter the Match command.  The editor locates the logical
  2252.   matching character of the pair.  This command can be useful for
  2253.   programming in languages where complicated expressions are grouped
  2254.   using these characters.
  2255.  
  2256.  
  2257. In the default configuration of the editor, a useful macro for locating
  2258. text has been assigned to <Alt =>.  This macro will take the word at the
  2259. current cursor position in the text, and execute the Find command on
  2260. that word.  It searches for the next occurrence of the word, using the
  2261. "Default Find options" (as described under "General Options" in Chapter
  2262. 2, "Customizing the Editor").  When located, the cursor is placed in the
  2263. text on the first character of the word and the word is highlighted.  If
  2264. the cursor is not located on a word when you execute this macro, the
  2265. editor executes the Find command itself, and displays the standard Find
  2266. prompt.
  2267.  
  2268.  
  2269. Replacing Text
  2270. ──────────────
  2271.  
  2272. The editor provides the ability to search for specific strings of
  2273. characters throughout your text and then replace all, some, or none of
  2274. them with another string of characters.  (If you want to search for
  2275. strings of characters without replacing them, use the Find command.)
  2276.  
  2277. * FindReplace <Ctrl Q A>
  2278.   This command searches for a specific string of characters in the
  2279.   current file, and optionally replaces it with another string of
  2280.   characters.
  2281.  
  2282.   Upon entering the FindReplace command, the editor prompts for the
  2283.   string of characters for which to search.
  2284.  
  2285.   ┌────────────────────────────────────────────────────────────┐
  2286.   │Search for:                                                 │
  2287.   │                                                            │
  2288.   └────────────────────────────────────────────────────────────┘
  2289.  
  2290.   Enter the desired string of characters and press <Enter>.
  2291.  
  2292.   The editor then prompts for a new string of characters (to replace the
  2293.   old string).
  2294.  
  2295.   ┌────────────────────────────────────────────────────────────┐
  2296.   │Replace with:                                               │
  2297.   │                                                            │
  2298.   └────────────────────────────────────────────────────────────┘
  2299.  
  2300.   Enter the new string of characters and press <Enter>.
  2301.  
  2302.   The editor then prompts for the search options you wish to use.
  2303.  
  2304.   ┌────────────────────────────────────────────────────────────┐
  2305.   │Options [BGLIWN] (Back Global Local Ignore-case Whole-words │
  2306.   │No-prompting):                                              │
  2307.   │                                                            │
  2308.   └────────────────────────────────────────────────────────────┘
  2309.  
  2310.  
  2311.   Enter the letter(s) corresponding to the option(s) you want and press
  2312.   <Enter>.  The available search options are the same as those described
  2313.   in the previous section ("Finding Text") for the Find command, as well
  2314.   as the following additional replace options:
  2315.  
  2316.     [N] = Find and replace with NO prompting.  If you choose "N", the
  2317.           editor finds and replaces every occurrence of the search
  2318.           string, without asking you if you want to replace each
  2319.           individual occurrence.
  2320.  
  2321.     [#] = Replace the indicated number of times (where "#" is an actual
  2322.           number).  If you specify a number, the editor finds and
  2323.           replaces the next "#" number of occurrences of the search
  2324.           string, without asking you if you want to replace each
  2325.           occurrence.  For example, if you enter "8", the next eight
  2326.           occurrences of the string are automatically replaced.
  2327.  
  2328.  
  2329.   If you select the [N] or [#] option, the editor finds and replaces
  2330.   every occurrence of the search string with no further user
  2331.   intervention.  If you DO NOT select the [N] or [#] option, the editor
  2332.   prompts at every occurrence of the search string with:
  2333.  
  2334.     Replace (Yes/No/Only/Rest/Quit):
  2335.  
  2336.   Valid responses are:
  2337.  
  2338.        <Y>es    - Replace the search string with the new string and
  2339.                   continue to the next occurrence.
  2340.        <N>o     - Do not replace the search string, but continue to the
  2341.                   next occurrence.
  2342.        <O>nly   - Replace the search string with the new string and
  2343.                   quit.
  2344.        <R>est   - Replace the search string with the new string and
  2345.                   replace the rest of the occurrences with no further
  2346.                   prompts.
  2347.        <Q>uit   - Cancel the FindReplace process.
  2348.  
  2349.   You can press <Ctrl Break> to halt a global FindReplace.
  2350.  
  2351.  
  2352. The RepeatFind command reissues the previous search command (including
  2353. FindReplace).  Refer to RepeatFind in the previous section, "Finding
  2354. Text".
  2355.  
  2356.  
  2357. COPYING, MOVING, CHANGING, AND DELETING TEXT
  2358. ──────────────────────────────────────────────────────────────────────
  2359.  
  2360.  
  2361. Block Commands
  2362. ──────────────
  2363.  
  2364. In this section, we will see how to mark and manipulate Blocks.  A Block
  2365. is some portion of the text file which has been specifically delineated
  2366. using the Block-marking commands.  We will see how to manipulate Blocks
  2367. both directly and through the use of intermediate storage areas known as
  2368. buffers.
  2369.  
  2370. The editor contains a rich set of Block commands.  There are commands to
  2371. mark Blocks by lines, columns, and characters.  There are commands to
  2372. copy, move, shift, and delete Blocks.  These commands are very useful
  2373. for transferring text from one file to another. There are also
  2374. cut-and-paste commands, as well as commands to move Blocks to and from
  2375. named Scratch Buffers.
  2376.  
  2377.  
  2378.                    Marking and Unmarking a Block
  2379.  
  2380. Before you can manipulate a Block, you must first "mark" the Block,
  2381. either by characters, lines, or columns.  The type of Block that you
  2382. mark will depend on the editing situation and what you find most
  2383. comfortable.
  2384.  
  2385. * MarkLine <Alt L>
  2386.   This command allows you to mark a Block in whole line increments. In
  2387.   other words, the Block will contain complete lines only and no
  2388.   portions of lines.  To use this command place the cursor anywhere on
  2389.   the first line of the text you wish to mark and press <Alt L>. (Notice
  2390.   that the line is immediately marked.)  Now, move the cursor (the Block
  2391.   will "follow" the cursor) to the last line of text to be marked and
  2392.   press <Alt L> again.  You now have a marked Block, ready for
  2393.   manipulation.
  2394.  
  2395. * DropAnchor <Alt A>
  2396.   This command allows you to mark a Block one character at a time.  In
  2397.   other words, the Block will contain a stream of characters (which can
  2398.   span over multiple lines).  To use this command place the cursor over
  2399.   the first character of the text you wish to mark and press <Alt A>.
  2400.   Then begin moving the cursor toward the end of the text to be marked.
  2401.   Notice that the Block "follows" the cursor position.  Once the cursor
  2402.   is placed over the last character to be marked, press <Alt A> again.
  2403.   You now have a marked Block, ready for manipulation.
  2404.  
  2405. * MarkCharacter
  2406.   This command works just like DropAnchor except that while marking the
  2407.   Block, the cursor is not included within the Block.
  2408.  
  2409.   MarkCharacter is provided as a replacement for the DropAnchor command.
  2410.   If you want the cursor position included in character Blocks, then
  2411.   continue to use DropAnchor; otherwise, replace the DropAnchor command
  2412.   with this command in the QCONFIG.DAT file.  Refer to the "Keyboard
  2413.   Configuration" section of Chapter 2 for more information on changing
  2414.   key/command assignments.
  2415.  
  2416.   The MarkCharacter command can also be used to provide CUA-style Block
  2417.   marking, using the shifted cursor keys.  Refer to the following
  2418.   section, "CUA-Style Block Marking."
  2419.  
  2420. * MarkColumn <Alt K>
  2421.   This command allows you to mark one or more columns of text.  To use
  2422.   this command place the cursor over the upper left-hand character of
  2423.   the text you wish to mark and press <Alt K>.  Then begin moving the
  2424.   cursor to the right and/or downward.  Notice that the Block "follows"
  2425.   the cursor position.  Once the cursor is placed over the lower
  2426.   right-hand character of the Block, press <Alt K> again.  You now have
  2427.   a marked Block, ready for manipulation.
  2428.  
  2429.  
  2430. ┌──────────────────────────────────────────────────────────────┐
  2431. │ Tip:                                                         │
  2432. │   When using the MarkLine, MarkCharacter, MarkColumn, and    │
  2433. │   DropAnchor commands, it is not necessary to mark the end   │
  2434. │   of the Block.  The editor assumes the end of the Block to  │
  2435. │   be the current cursor position for MarkCharacter,          │
  2436. │   MarkColumn, and DropAnchor, and to be the current cursor   │
  2437. │   line for MarkLine.  Marking the end of the Block is only   │
  2438. │   necessary when moving or copying text within the same      │
  2439. │   file.                                                      │
  2440. └──────────────────────────────────────────────────────────────┘
  2441.  
  2442.  
  2443. * MarkWord <Ctrl K T>
  2444.   This command allows you to mark the current word.  To use this
  2445.   command, place the cursor anywhere in the word you wish to mark and
  2446.   press <Ctrl K T>.  The entire word is immediately marked.  If there is
  2447.   no word at the current cursor position, then no action is taken.
  2448.  
  2449. * MarkBlockBegin <Ctrl K B>, MarkBlockEnd <Ctrl K K>
  2450.   This is another method of marking a Block one character at a time. To
  2451.   mark a Block with this command, place the cursor over the first
  2452.   character of the text you wish to mark and press <Ctrl K B>.  Then
  2453.   position the cursor one character past the end of the text that is to
  2454.   be marked and press <Ctrl K K>.  The Block is now marked and ready for
  2455.   manipulation.
  2456.  
  2457. * UnmarkBlock <Alt U>
  2458.   Entering the UnmarkBlock command causes the currently marked Block to
  2459.   be unmarked.
  2460.  
  2461. The editor allows you to mark one Block at a time.  If you mark a Block
  2462. and then go elsewhere in the file and attempt to mark another Block, the
  2463. editor will simply extend the first Block by including all the text
  2464. between the original Block and the current cursor position.  If you mark
  2465. a Block in one file and then go to another file and mark a Block, the
  2466. Block in the first file will automatically be unmarked.
  2467.  
  2468. Also, if you mix types of Block marking (for example, by entering
  2469. MarkLine followed by DropAnchor), the editor will mark the Block
  2470. according to the last command entered.
  2471.  
  2472.  
  2473.                        CUA-Style Block Marking
  2474.  
  2475. The editor allows you to use the following CUA-style shifted cursor keys
  2476. for marking character Blocks.  These pre-defined keys use the
  2477. MarkCharacter command to create Blocks that do not include the cursor
  2478. within the Block.
  2479.  
  2480.   CUA-style Key          Block-marking Operation
  2481.   ────────────────────   ───────────────────────────────────────────────
  2482.  
  2483.   <Shift Cursor Left>    Mark/extend Block and move left one character
  2484.   <Shift Cursor Right>   Mark/extend Block and move right one character
  2485.   <Shift Cursor Up>      Mark/extend Block and move up one line
  2486.   <Shift Cursor Down>    Mark/extend Block and move down one line
  2487.   <Shift Home>           Mark/extend Block and move to beginning of line
  2488.   <Shift End>            Mark/extend Block and move to end of line
  2489.   <Shift PgUp>           Mark/extend Block and move up one page
  2490.   <Shift PgDn>           Mark/extend Block and move down one page
  2491.  
  2492. To select the CUA-style Block-marking keys, you must set CUA-Style Block
  2493. Marking mode ON.  (You can do this by setting the configuration option
  2494. "Use CUA-style (shift cursor) block marking" to <Y>.  Refer to the
  2495. "Advanced Options" section of Chapter 2.  You can also switch this mode
  2496. ON and OFF using the ToggleCUAMarking command.)  These CUA-style keys
  2497. will then override any command assignments made to the same keys in
  2498. QCONFIG.DAT.
  2499.  
  2500. In addition to the CUA-style Block marking keys, you may want to
  2501. configure the editor to assign the following CUA-style keys to the
  2502. indicated Block commands:
  2503.  
  2504.   CUA-style
  2505.      Key      Block Command / Operation
  2506.  ───────────  ─────────────────────────────────────────────────────────
  2507.  
  2508.  <Shift Ins>  Paste / paste contents of Scrap Buffer at cursor position
  2509.  <Shift Del>  Cut / cut marked Block to Scrap Buffer
  2510.  <Ctrl Ins>   Copy / copy marked Block to Scrap Buffer
  2511.  <Ctrl Del>   DeleteBlock / delete marked Block
  2512.  
  2513. For these CUA-style Block command key assignments to be effective, they
  2514. must be assigned in QCONFIG.DAT and burned into the editor.  Unlike the
  2515. CUA-style Block-marking keys, setting ON CUA-Style Block Marking mode
  2516. does NOT automatically make these Block-command keys effective.
  2517.  
  2518. The following paragraphs describe certain effects of CUA-Style Block
  2519. Marking mode.
  2520.  
  2521. If the <Shift> key is released during marking, it must be pressed again,
  2522. before any other key is pressed, in order to continue marking.
  2523.  
  2524. If you press any key that is not a CUA-style marking keys (or that is
  2525. not one of the related CUA-style Block command keys, as described
  2526. above), the current Block will be unmarked.  You can override this
  2527. "unmarking" behavior by setting the configuration option "Should blocks
  2528. remain marked after CUA marking" to <Y>.  Then a marked Block will
  2529. remain marked until you unmark it, or until you execute a command, such
  2530. as Cut, that unmarks the Block after its operation.  (Refer to the
  2531. "Advanced Options" section of Chapter 2 for information on setting this
  2532. option.)
  2533.  
  2534. Once a "persistent" Block is marked, you can extend the Block by placing
  2535. the cursor at either the beginning or ending position of the Block, and
  2536. then pressing one of the CUA-style Block-marking keys.  If you press one
  2537. of the CUA-style marking keys with the cursor at any other position in
  2538. the file, the current Block will be unmarked, and a new Block will be
  2539. started at the cursor position.
  2540.  
  2541.  
  2542.                     Manipulating Blocks Directly
  2543.  
  2544. There a several ways to manipulate a marked Block in the editor.  The
  2545. following commands act directly on a marked Block.
  2546.  
  2547.  
  2548. ┌──────────────────────────────────────────────────────────────┐
  2549. │ Tip:                                                         │
  2550. │   When Copying or Moving Blocks:                             │
  2551. │                                                              │
  2552. │   Blocks marked using the DropAnchor, MarkCharacter,         │
  2553. │   MarkColumn, and MarkBlockBegin/End commands will always be │
  2554. │   inserted beginning at the current cursor position.         │
  2555. │                                                              │
  2556. │   Blocks marked using the MarkLine command will be inserted  │
  2557. │   at either the line before or the line after the current    │
  2558. │   cursor line.  Refer to the "General Options" section of    │
  2559. │   Chapter 2 for more information.                            │
  2560. └──────────────────────────────────────────────────────────────┘
  2561.  
  2562.  
  2563. * CopyBlock <Alt C>
  2564.   This command makes a copy of the marked Block and inserts it where you
  2565.   indicate.  You can insert this copy of the Block at some other place
  2566.   in the same file or in another file.  The original Block of text, from
  2567.   which you made the copy, is not affected.
  2568.  
  2569.   To use this command, first mark the Block as described above. Next,
  2570.   move the cursor to the position in the file where you wish to insert
  2571.   the marked text.  (Or, if you have multiple files loaded and wish to
  2572.   copy text from one file to another, use the NextFile, PrevFile or
  2573.   EditFile commands to get a new current file and likewise position the
  2574.   cursor.)  Now enter the CopyBlock <Alt C> command.  The Block will be
  2575.   inserted at the new position.  You may notice, after you use
  2576.   CopyBlock, that the newly inserted Block of text is now marked and the
  2577.   original Block is unmarked.  To unmark the copied Block, enter the
  2578.   UnmarkBlock command.
  2579.  
  2580.   For an easy method to copy the same Block repeatedly, refer to the
  2581.   Copy and Paste commands in the following section.
  2582.  
  2583. * CopyOverBlock <Alt Z>
  2584.   This command is for use with column Blocks only.  It works just like
  2585.   CopyBlock except the Block is copied to the current cursor position by
  2586.   overlaying existing text and without shifting text to the right.
  2587.  
  2588. * MoveBlock <Alt M>
  2589.   This command works exactly like CopyBlock with one exception:  upon
  2590.   entering the MoveBlock <Alt M> command, the originally marked Block is
  2591.   deleted from the file.
  2592.  
  2593.   As with the CopyBlock command, you can move a Block to another part of
  2594.   the same file or from one file to another.
  2595.  
  2596.   For an easy method to delete a Block from its original position and
  2597.   inserting it repeatedly at other positions, refer to the Cut and Paste
  2598.   commands in the following section.
  2599.  
  2600. * DeleteBlock <Alt G>
  2601.   This command simply deletes a marked Block of text from the file. To
  2602.   use this command, first mark a Block of text to be deleted, then enter
  2603.   the DeleteBlock command.  The marked text will be deleted from the
  2604.   file.  (Deleted Blocks will be placed in the Kill buffer.  Refer
  2605.   to "The Kill Buffer - A Safety Net" section in this chapter for
  2606.   more information.)
  2607.  
  2608. * ShiftLeft <Shift F7>, ShiftRight <Shift F8>
  2609.   These commands allow the User to shift text contained in a Block to
  2610.   the left or right. To use these commands, first mark a Block. Now
  2611.   enter ShiftLeft or ShiftRight.  The entire marked Block of text will
  2612.   be shifted one column to the left or right respectively. If there is
  2613.   no marked Block of text or the cursor is outside of the marked Block,
  2614.   the current cursor line will be shifted. This command is very useful
  2615.   for changing indentation for portions of text or source code.
  2616.  
  2617. * FillBlock <Ctrl K L>
  2618.   This command allows you to fill a marked Block with a single
  2619.   character.
  2620.  
  2621.  
  2622.               Manipulating Blocks Using Scrap Buffers
  2623.  
  2624. The editor provides an extremely helpful device for quickly manipulating
  2625. Blocks of text.  This device consists of a Scrap Buffer and several
  2626. commands which act on the Scrap Buffer.
  2627.  
  2628. The Scrap Buffer is a temporary holding area for marked Blocks of text.
  2629. The commands Cut, Copy, Paste, and PasteOver are used solely for placing
  2630. text into the Scrap Buffer and copying text from the Scrap Buffer.
  2631.  
  2632. When you issue a Copy or Cut command (discussed in the following
  2633. section), the marked Block is placed into the Scrap Buffer.  The next
  2634. time you Copy or Cut a Block into the Scrap Buffer, the previous
  2635. contents of the Scrap Buffer are deleted and replaced with the new
  2636. Block.
  2637.  
  2638. You can repeatedly use the Paste and PasteOver commands as many times as
  2639. needed to insert a copy of the Block held in the Scrap Buffer at
  2640. multiple positions in your file or files.  The Paste and PasteOver
  2641. commands do not purge the contents of the Scrap Buffer.
  2642.  
  2643.  
  2644. * Copy <Grey +> and Paste <Grey *> / PasteOver <Ctrl PrtSc>
  2645.   To copy a section of text from its present position and insert it
  2646.   somewhere else:
  2647.  
  2648.   1. Mark the text using the Block marking commands.
  2649.  
  2650.   2. Enter Copy <Grey +>.  This places a copy of the marked text into
  2651.      the Scrap Buffer.
  2652.  
  2653.   3. If you want to insert the text somewhere else within the same file,
  2654.      use the cursor movement commands to place the cursor where you wish
  2655.      to insert the text.
  2656.  
  2657.   4. If you want to insert the text in another file, switch to that file
  2658.      using the NextFile, PrevFile, or EditFile command to access that
  2659.      file.  Then place the cursor at the desired position.
  2660.  
  2661.   5. Enter Paste <Grey *> to insert the text.  If you have copied a
  2662.      column Block into the Scrap Buffer and wish to insert it by
  2663.      overlaying existing text then use PasteOver <Ctrl PrtSc> instead of
  2664.      Paste.
  2665.  
  2666.   Since Paste and PasteOver leave the contents of the Scrap Buffer
  2667.   intact, you can make multiple insertions in the same or different
  2668.   files.  Simply move the cursor to the file and position where you wish
  2669.   to make additional insertions and enter Paste <Grey *> or PasteOver
  2670.   <Ctrl PrtSc>.  Please note that the next time you issue a Cut or Copy
  2671.   command, the previous contents of the Scrap Buffer will be discarded.
  2672.  
  2673.  
  2674. * Cut <Grey -> and Paste <Grey *> / PasteOver <Ctrl PrtSc>
  2675.   Cut and Paste/PasteOver work exactly like Copy and Paste/PasteOver
  2676.   except that Cut will delete the marked Block from the file.  You can
  2677.   still make multiple insertions of the text using the Paste or
  2678.   PasteOver Commands.
  2679.  
  2680.  
  2681. ┌──────────────────────────────────────────────────────────────┐
  2682. │ Tip:                                                         │
  2683. │   The editor can be configured to have the Cut and Copy      │
  2684. │   commands act on the current cursor line if no Block is     │
  2685. │   marked.  Refer to the "Advanced Options" section of        │
  2686. │   Chapter 2 for more information.                            │
  2687. └──────────────────────────────────────────────────────────────┘
  2688.  
  2689.  
  2690.              Manipulating Blocks Using Scratch Buffers
  2691.  
  2692. A Scratch Buffer is a special type of buffer to which you assign a name.
  2693. The editor allows you to create and name up to 99 Scratch Buffers for
  2694. each editing session.  These can be useful if you have several different
  2695. Blocks of text that you want to insert in multiple locations.  The
  2696. commands StoreScrBuff <Ctrl B S>, AppendScrBuff <Ctrl B A>, and
  2697. GetScrBuff <Ctrl B L> are used to place text in, and retrieve text from,
  2698. a Scratch Buffer.  Whenever you issue one of these commands, the editor
  2699. will ask you for the name of the Scratch Buffer.  If you want to use an
  2700. already created scratch buffer, and do not remember the name, just press
  2701. <Enter> on an empty prompt (press the DelLine key to quickly remove any
  2702. text in a prompt) and a list of existing Scratch Buffers will be shown,
  2703. allowing you to select the appropriate one.  Finally, you can remove a
  2704. Scratch Buffer, if it is no longer needed, with the DelScratchBuff
  2705. <Ctrl B D> command.
  2706.  
  2707. The contents of all Scratch Buffers are discarded when the editor is
  2708. terminated.
  2709.  
  2710. * StoreScrBuff <Ctrl B S>, AppendScrBuff <Ctrl B A>
  2711.  
  2712.   To place a Block of text into a named buffer:
  2713.  
  2714.   1. Mark the Block.
  2715.  
  2716.   2. If you want to create a new Scratch Buffer containing the marked
  2717.      Block, execute StoreScrBuff <Ctrl B S>.  (This command is also used
  2718.      if you wish to replace the current contents of a Scratch Buffer
  2719.      with the marked Block.)  If you want to append the marked Block to
  2720.      the current contents of the Scratch Buffer, execute AppendScrBuff
  2721.      <Ctrl B A>.
  2722.  
  2723.   3. The editor prompts for the name of the Scratch Buffer.
  2724.  
  2725.      ┌─────────────────────────────────────────────────────────┐
  2726.      │Store (Append) to buffer:                                │
  2727.      │                                                         │
  2728.      └─────────────────────────────────────────────────────────┘
  2729.  
  2730.   4. Enter a name.  It is best to use a name which reflects the contents
  2731.      of the buffer and is easily remembered.  Or press <Enter> to get a
  2732.      list of existing Scratch Buffers, if you cannot remember the name
  2733.      and want to use an existing Buffer.
  2734.  
  2735.   The Block is now stored in a Scratch Buffer under the assigned name.
  2736.  
  2737.   * GetScrBuff <Ctrl B L>
  2738.     To retrieve the contents of a named Scratch Buffer and insert it at
  2739.     the current cursor position:
  2740.  
  2741.     1. Position the cursor where you wish the contents of the named
  2742.        Scratch Buffer to be inserted.
  2743.  
  2744.     2. Enter GetScrBuff <Ctrl B L>.  The editor prompts for the name of
  2745.        the Scratch Buffer to be retrieved.
  2746.  
  2747.        ┌───────────────────────────────────────────────────────┐
  2748.        │Get from buffer:                                       │
  2749.        │                                                       │
  2750.        └───────────────────────────────────────────────────────┘
  2751.  
  2752.     3. Enter the name of the desired Scratch Buffer, or press <Enter> to
  2753.        choose from a list of existing Scratch Buffers.
  2754.  
  2755.     4. Repeat the above steps whenever you want to insert the contents
  2756.        of a Scratch Buffer into your text.
  2757.  
  2758.  
  2759.                Accessing the Microsoft Windows Clipboard
  2760.  
  2761. The following handy commands allow you to copy or paste text between the
  2762. current file and the Microsoft Windows Clipboard.
  2763.  
  2764. * WinClipCopy
  2765.   This command makes a copy of the marked Block and inserts it directly
  2766.   into the Microsoft Windows Clipboard.
  2767.  
  2768. * WinClipPaste
  2769.   This command inserts a copy of the contents of the Microsoft Windows
  2770.   Clipboard directly into the current file at the cursor position.
  2771.  
  2772.  
  2773. Note that the OS/2 version of the editor allows you to access the OS/2
  2774. Clipboard.
  2775.  
  2776.  
  2777.                      Examples of Block Commands
  2778.  
  2779. This section contains examples of commonly used Block Commands.
  2780.  
  2781. * Copying or moving a Block within the same file.
  2782.  
  2783.   1. Position the cursor at the beginning of the Block to be copied or
  2784.      moved.
  2785.  
  2786.   2. Enter DropAnchor <Alt A> to mark a stream of characters, or
  2787.      MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
  2788.      a column of text.
  2789.  
  2790.   3. Position the cursor at the end of the Block to be copied or moved.
  2791.  
  2792.   4. Enter DropAnchor, MarkLine, or MarkColumn again to mark the end of
  2793.      the Block.
  2794.  
  2795.   5. Move the cursor to the location where you want to insert the marked
  2796.      Block.
  2797.  
  2798.   6. Enter CopyBlock <Alt C>, CopyOverBlock <Alt Z> (column Blocks
  2799.      only), or MoveBlock <Alt M>.
  2800.  
  2801.   7. Enter UnmarkBlock <Alt U> to unmark the Block.
  2802.  
  2803.   The Block has now been copied or moved.
  2804.  
  2805.  
  2806. * Copying or moving a Block to another file.
  2807.  
  2808.   1. Position the cursor at the beginning of the Block to be copied or
  2809.      moved.
  2810.  
  2811.   2. Enter DropAnchor <Alt A> to mark a stream of characters, or
  2812.      MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
  2813.      a column of text.
  2814.  
  2815.   3. Position the cursor at the end of the Block to be copied or moved.
  2816.  
  2817.   4. Switch to the "target" file using the file commands EditFile,
  2818.      NextFile, or PrevFile.
  2819.  
  2820.   5. Move the cursor to the location in the file where you want to
  2821.      insert the marked Block.
  2822.  
  2823.   6. Enter CopyBlock <Alt C>, CopyOverBlock <Alt Z> (column Blocks
  2824.      only), or MoveBlock <Alt M>.
  2825.  
  2826.   7. Enter UnmarkBlock <Alt U> to unmark the Block.
  2827.  
  2828.   The Block has now been copied or moved.
  2829.  
  2830.  
  2831. * Copying or moving a Block for multiple insertions in the same file.
  2832.  
  2833.   If you want to insert the same Block at several positions within a
  2834.   file, follow these steps:
  2835.  
  2836.   1. Position the cursor at the beginning of the Block to be copied or
  2837.      moved.
  2838.  
  2839.   2. Enter DropAnchor <Alt A> to mark a stream of characters, or
  2840.      MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
  2841.      a column of text.
  2842.  
  2843.   3. Position the cursor at the end of the Block to be copied or moved.
  2844.  
  2845.   4. If you want to leave the Block in its original position and insert
  2846.      copies of it at other locations, then enter Copy <Grey +>.
  2847.  
  2848.      If you want to delete the Block from its original position and
  2849.      insert copies of it at other locations, then enter Cut <Grey ->.
  2850.  
  2851.      The Block is now stored in the Scrap Buffer.
  2852.  
  2853.   5. Move the cursor to the location in the file where you want to
  2854.      insert the Block.
  2855.  
  2856.   6. Enter Paste <Grey *> or PasteOver <Ctrl PrtSc> (column Blocks
  2857.      only).
  2858.  
  2859.   The Block is now inserted.  Repeat steps 5 and 6 for each additional
  2860.   insertion.
  2861.  
  2862.  
  2863. * Copying or moving a Block for multiple insertions in more than one
  2864.   file.
  2865.  
  2866.   If you want to insert the same Block at several positions in more than
  2867.   one file, follow these steps:
  2868.  
  2869.   1. Position the cursor at the beginning of the Block to be copied or
  2870.      moved.
  2871.  
  2872.   2. Enter DropAnchor <Alt A> to mark a stream of characters, or
  2873.      MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
  2874.      a column of text.
  2875.  
  2876.   3. Position the cursor at the end of the Block to be copied or moved.
  2877.  
  2878.   4. If you want to leave the Block in its original position and insert
  2879.      copies of it at other locations, then enter Copy <Grey +>.
  2880.  
  2881.      If you want to delete the Block from its original position and
  2882.      insert copies of it at other locations, then enter Cut <Grey ->.
  2883.  
  2884.      The Block is now stored in the Scrap Buffer.
  2885.  
  2886.   5. Switch to the "target" file using the file commands EditFile,
  2887.      NextFile, or PrevFile.
  2888.  
  2889.   6. Move the cursor to the location in the file where you want to
  2890.      insert the Block.
  2891.  
  2892.   7. Enter Paste <Grey *> or PasteOver <Ctrl PrtSc> (column Blocks
  2893.      only).
  2894.  
  2895.   The Block is now inserted.  Repeat steps 5-7 for each additional
  2896.   insertion.
  2897.  
  2898. * Copying multiple Blocks for insertion in one or more files.
  2899.  
  2900.   If you have several Blocks that you want to insert in several
  2901.   different files, follow these steps:
  2902.  
  2903.   1. Position the cursor at the beginning of the first Block.
  2904.  
  2905.   2. Enter DropAnchor <Alt A> to mark a stream of characters, or
  2906.      MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
  2907.      a column of text.
  2908.  
  2909.   3. Position the cursor at the end of the first Block.
  2910.  
  2911.   4. Enter AppendScrBuff <Ctrl B A> if you want to append to an existing
  2912.      Scratch Buffer.  Otherwise, enter StoreScrBuff <Ctrl B S> to create
  2913.      or overwrite an existing Scratch Buffer.
  2914.  
  2915.   5.  The editor will prompt for the name of the buffer.  Enter a name.
  2916.       (It is best to use a name which reflects the contents of the
  2917.       buffer and is easily remembered).
  2918.  
  2919.       The Block is now stored in a Scratch Buffer under the assigned
  2920.       name.  Repeat steps 1-5 for each additional Block you want to
  2921.       store.
  2922.  
  2923.   6. Switch to the "target" file using the file commands EditFile,
  2924.      NextFile, or PrevFile.
  2925.  
  2926.   7. Move the cursor to the location in the file where you want to
  2927.      insert a Block.
  2928.  
  2929.   8. Enter GetScrBuff <Ctrl B L>.  The editor will prompt for the name
  2930.      of the Scratch Buffer.  Enter the name of the desired Scratch
  2931.      Buffer for insertion.
  2932.  
  2933.   Repeat steps 6 through 8 for each insertion of a stored Block.
  2934.  
  2935. Non-Block Commands
  2936. ──────────────────
  2937.  
  2938. In addition to the editor's array of Block commands, there are also many
  2939. commands for manipulating your text which do not depend on marked
  2940. Blocks.  This section explains non-Block commands.
  2941.  
  2942.  
  2943.                             Adding Text
  2944.  
  2945. * AddLine <F2>
  2946.   As its name implies, this command inserts a blank line in the text.
  2947.   The line is added immediately below the current cursor line. The
  2948.   cursor is moved to the new line.  The cursor column does not change.
  2949.  
  2950. * InsertLine <Alt F2>
  2951.   This command inserts a blank line in the text above the cursor line.
  2952.   The cursor remains on the new line and the cursor column does not
  2953.   change.
  2954.  
  2955. * Literal <Ctrl P>
  2956.   The Literal command is used to insert control characters into the
  2957.   text.  To use this command, enter <Ctrl P> followed by a control
  2958.   character.  The control character will be inserted into the text. For
  2959.   example, to insert a formfeed character (ASCII 12) in the text, enter
  2960.   <Ctrl P> <Ctrl L>.
  2961.  
  2962.   This command is handy for entering the control characters represented
  2963.   by ASCII decimal values 1 through 26.  Simply enter <Ctrl P> followed
  2964.   by <Ctrl A> for ASCII character 1, or <Ctrl B> for ASCII character 2
  2965.   and so on, up to <Ctrl Z> for ASCII character 26.
  2966.  
  2967.  
  2968. ┌──────────────────────────────────────────────────────────────┐
  2969. │ Tip:                                                         │
  2970. │   An alternate and perhaps easier method of entering control │
  2971. │   characters or any ASCII character into your text is to     │
  2972. │   hold down the <Alt> key and enter the decimal equivalent   │
  2973. │   of the ASCII character using the numeric keypad.  For      │
  2974. │   example, to insert a formfeed character (ASCII 12) in the  │
  2975. │   text, just enter <Alt 12> using the numeric keypad.        │
  2976. │                                                              │
  2977. │   If a linefeed character (ASCII 10) is entered, the editor  │
  2978. │   will split the line at this position the next time the     │
  2979. │   file is edited.                                            │
  2980. │                                                              │
  2981. │   Another method for entering ASCII characters into the text │
  2982. │   is to use the AsciiChart command, described below.         │
  2983. └──────────────────────────────────────────────────────────────┘
  2984.  
  2985.  
  2986. * AsciiChart <Esc><O><T>
  2987.   Displays a scrollable ASCII chart on the screen.  When the ASCII chart
  2988.   is displayed, the cursor bar is located on the entry that corresponds
  2989.   to the character at the cursor position in the text.  If the cursor is
  2990.   positioned in the text beyond the end of the line, the cursor bar is
  2991.   located on the first item in the ASCII chart (the null character).
  2992.  
  2993.   To place a display character from the ASCII chart into the text, scroll
  2994.   the cursor bar to the desired entry and press <Enter>.  The ASCII
  2995.   chart is removed from the screen, and the selected character is placed
  2996.   in the text at the cursor position.
  2997.  
  2998.   To remove the ASCII chart from the screen without placing a character
  2999.   into the text, press <Esc>.
  3000.  
  3001. * ToggleBoxDraw <Shift F1>
  3002.   This is a specialized command which is really a mode of operation that
  3003.   can be switched ON or OFF.  If switched ON, the cursor movement keys
  3004.   (up, down, right, left) can be used to "draw" lines in the text.  This
  3005.   can be very useful for creating graphs and tables.  To switch Box
  3006.   Drawing mode ON, enter <Shift F1>.  To switch OFF, enter <Shift F1>
  3007.   again.  When Box Drawing mode is ON, a "B" appears on the StatusLine.
  3008.  
  3009. * ToggleEnterMatching <Esc><O><E>
  3010.   This is also a specialized command which is really a mode of operation
  3011.   that can be switched ON or OFF.  If switched ON, the editor will
  3012.   automatically insert into the text a corresponding ), ], }, or "
  3013.   character each time a (, [, {, or " character, respectively, is
  3014.   entered.  To switch EnterMatching mode ON, enter <Esc><O><E>.  To
  3015.   switch OFF, enter <Esc><O><E> again.
  3016.  
  3017.  
  3018.                             Copying Text
  3019.  
  3020. * GetPrev <Ctrl - (dash)>
  3021.   This command copies the character directly above the cursor onto the
  3022.   cursor line.  To get an idea of how this command works, place the
  3023.   cursor at the beginning of any line which has text on the line
  3024.   immediately above it.  Now press <Ctrl - (dash)> and hold it down. The
  3025.   cursor will move to the right while copying the the characters from
  3026.   the line above.
  3027.  
  3028. * DupLine <F4>
  3029.   This command simply makes a copy of the current cursor line and
  3030.   inserts this copy on the line immediately below the cursor line. The
  3031.   cursor is placed on the new line.
  3032.  
  3033. * Copy <Grey +>, Paste <Grey *>
  3034.   Refer to the "Block Commands" section in this chapter for a complete
  3035.   explanation of these commands.  The commands are included here
  3036.   because, if desired, the User can configure the editor so that these
  3037.   commands act on the current cursor line in the same manner in which
  3038.   they act on Blocks.  For more information on how to configure this
  3039.   option, refer to the "Advanced Options" section of Chapter 2.
  3040.  
  3041.  
  3042.                             Moving Text
  3043.  
  3044. * Align
  3045.   This command lines up the left-most character of the cursor line with
  3046.   the left-most character of the line above it.  This allows you to
  3047.   align portions of text which require a common left margin. This
  3048.   command also moves the cursor down one line; thus, large portions of
  3049.   text can be aligned very quickly by entering this command and holding
  3050.   the command key down.
  3051.  
  3052. * JoinLine  <Alt J>
  3053.   This command will join the following line to the end of the current
  3054.   line.  The cursor position does not change.
  3055.  
  3056.   If the cursor is positioned on or before the last non-blank character
  3057.   of the line, the line below will be appended immediately following the
  3058.   last non-blank character.
  3059.  
  3060.   If the cursor is positioned beyond the last non-blank character of the
  3061.   line, the line below will be appended beginning at the current cursor
  3062.   position.
  3063.  
  3064.   If the line below the cursor line is blank, the blank line will be
  3065.   deleted.
  3066.  
  3067. * Return <Enter>
  3068.   Before reading the explanation of the Return command, it may be
  3069.   helpful to review the discussion of Insert mode in the "Modes" section
  3070.   in this chapter.
  3071.  
  3072.   If the editor is in Insert mode, this command performs like the
  3073.   SplitLine command; that is, all text on and to the right of the cursor
  3074.   on the cursor line will be deleted and inserted on a new line
  3075.   immediately below the cursor line.  The cursor, however, will be
  3076.   placed on the new line.
  3077.  
  3078.   If the editor is not in Insert mode, this command will simply place
  3079.   the cursor at the beginning of the line below the cursor line.  No
  3080.   text will be affected.
  3081.  
  3082.   If the editor is in AutoIndent mode, the cursor will be placed at the
  3083.   left margin instead of at the beginning of the line.
  3084.  
  3085.  
  3086. ┌──────────────────────────────────────────────────────────────┐
  3087. │ Tip:                                                         │
  3088. │   The editor can be configured so the Return command does    │
  3089. │   not split lines in Insert mode.  Refer to the "Advanced    │
  3090. │   Options" section of Chapter 2 for more information.        │
  3091. └──────────────────────────────────────────────────────────────┘
  3092.  
  3093.  
  3094. * SplitLine <Alt S>
  3095.   This command will split the current line at the cursor position.  The
  3096.   cursor position will not change.
  3097.  
  3098. * SwapChars
  3099.   This command will swap the character at the cursor position with the
  3100.   character preceding the cursor.  The cursor column position does not
  3101.   change.
  3102.  
  3103. * SwapWords
  3104.   This command will swap the word in which the cursor is positioned with
  3105.   the previous word on the current line.  Any "non-word" characters
  3106.   between the affected words are preserved.
  3107.  
  3108. * SwapLines  <Ctrl F2> or <Esc><E><P>
  3109.   This command will swap the current line with the line immediately
  3110.   following it.  The cursor does not change its position relative to the
  3111.   screen.
  3112.  
  3113. * Cut <Grey ->, Paste <Grey *>
  3114.   Refer to the "Block Commands" section in this chapter for a complete
  3115.   explanation of these commands.  The commands are included here
  3116.   because, if desired, you can configure the editor so that these
  3117.   commands act on the current cursor line in the same manner in which
  3118.   they act on Blocks.  For more information on how to configure this
  3119.   option, refer to the "Advanced Options" section of Chapter 2.
  3120.  
  3121. * ShiftLeft <Shift F7>, ShiftRight <Shift F8>
  3122.   Refer to the "Block Commands" section in this chapter for a complete
  3123.   explanation of these commands.  The commands are included here
  3124.   because, if there is no marked Block in the text, these commands will
  3125.   act on the current cursor line.
  3126.  
  3127.  
  3128.                     Deleting And Undeleting Text
  3129.  
  3130. * Backspace <Backspace>, DelLtWord <Ctrl Backspace>
  3131.   If Insert mode is ON, the Backspace command deletes the character to
  3132.   the left of the cursor.  The text to the right of the cursor is pulled
  3133.   behind the cursor as it moves to the left.  If the cursor is in column
  3134.   one and you enter Backspace, the cursor line is appended to the line
  3135.   immediately above.
  3136.  
  3137.   If Insert mode is OFF, the Backspace command works the same as above
  3138.   except the text to the right of the cursor is not pulled behind the
  3139.   cursor as it moves left.
  3140.  
  3141.   The DelLtWord command is a backspace for "words".  It works just like
  3142.   the Backspace command, except that it deletes all characters from the
  3143.   cursor to the beginning of the previous word.
  3144.  
  3145. * DelCh <Del>, DelRtWord <Ctrl T>
  3146.   DelCh will delete the character at the cursor position and pull the
  3147.   text to the right of the cursor, one column to the left.
  3148.  
  3149.   If the cursor position is to the right of the last non-blank character
  3150.   on the cursor line, the line immediately below will be appended to the
  3151.   cursor line.
  3152.  
  3153.  
  3154.   The DelRtWord command is a character delete for "words".  It works
  3155.   just like the DelCh command, except that it deletes all characters
  3156.   from the cursor to the beginning of the following word.
  3157.  
  3158. * DelToEol <F6>
  3159.   This command deletes the character at the cursor position and all text
  3160.   to the right of the cursor on the current cursor line.  The cursor
  3161.   position does not change.
  3162.  
  3163. * DelLine <Alt D>
  3164.   This command deletes the current cursor line from the text. All text
  3165.   below the deleted line is shifted up one line.
  3166.  
  3167. * UndoCursorline  <Ctrl Q L>
  3168.   This command allows you to reverse any changes you have made to the
  3169.   cursor line.  This can be helpful if you accidentally delete or change
  3170.   part of a line, or you just change your mind and want the cursor line
  3171.   back the way it was.  This command must be issued before the cursor is
  3172.   moved from the current cursor line and before any file or window
  3173.   commands are entered.  Changes made using the FindReplace command
  3174.   cannot be reversed with this command.
  3175.  
  3176. * UnKill <Ctrl U>
  3177.   This command allows you to retrieve text that has been deleted by the
  3178.   DeleteBlock, DelLine, DelRtWord, or DelToEol commands.  Refer to "The
  3179.   Kill Buffer - A Safety Net" section in this chapter for a complete
  3180.   explanation of the use of this command.
  3181.  
  3182.                            Changing Case
  3183.  
  3184. * Upper <Alt 1>
  3185.   This command changes the current character to its upper-case
  3186.   equivalent.  If the cursor is in a Block when invoked, all characters
  3187.   in the Block are upper-cased.
  3188.  
  3189. * Lower <Alt 2>
  3190.   This command changes the current character to its lower-case
  3191.   equivalent.  If the cursor is in a Block when invoked, all characters
  3192.   in the Block are lower-cased.
  3193.  
  3194. * Flip <Alt 3>
  3195.   This command flips the case of the current character.  If the cursor
  3196.   is in a Block when invoked, all characters in the Block are flipped.
  3197.  
  3198.                               Sorting
  3199.  
  3200. The editor allows you to sort a range of lines, using a column Block as
  3201. the key upon which the sort is based.  In order to use the Sort feature,
  3202. mark a column Block indicating the key on which to sort, and then press
  3203. <Shift F3>.
  3204.  
  3205. The Sort can be configured (either interactively or by using the
  3206. configuration program, QCONFIG) to ignore or respect case, and to sort
  3207. in ascending or descending order.
  3208.  
  3209. * Sort <Shift F3> or <Esc><B><S>
  3210.   Sorts all the lines spanned by a column Block, using the column
  3211.   Block as the sort key.
  3212.  
  3213. * ToggleSortCaseInSensitive <Esc><B><I>
  3214.   Toggles sort case sensitivity ON or OFF.  Set this option ON to have
  3215.   the Sort command ignore the case of characters when sorting; set this
  3216.   option OFF to have the Sort command respect upper/lower case.
  3217.  
  3218. * ToggleSortDescending <Esc><B><N>
  3219.   Toggles the sort order between ascending and descending.  Set this
  3220.   option OFF to sort in ascending order; set this option ON to sort in
  3221.   descending order.
  3222.  
  3223.  
  3224. The Kill Buffer - A Safety Net
  3225. ──────────────────────────────
  3226.  
  3227. The editor maintains a temporary storage area for deleted text.  This
  3228. provides the User a safeguard against incorrectly or inadvertently
  3229. deleting text.  This recovery mechanism is automatically in effect when
  3230. the editor is running.  No action is required from the User until there
  3231. is a need to recover deleted text.
  3232.  
  3233. The temporary storage area is called the Kill Buffer.  Text that has
  3234. been deleted by the following commands will be placed into the Kill
  3235. Buffer:
  3236.  
  3237.                     DeleteBlock  <Alt G>
  3238.                     DelLine      <Alt D>
  3239.                     DelRtWord    <Ctrl T>
  3240.                     DelToEol     <F6>
  3241.  
  3242. To understand how the Kill Buffer works and how text is recovered from
  3243. the Kill Buffer, refer to the following illustration:
  3244.  
  3245.  
  3246.                      The Kill Buffer
  3247.  
  3248.    Entry    Command
  3249.    Number   Entered      Buffer Contents
  3250.   ┌───────┬────────────┬────────────────────────────────┐ top
  3251.   │  4    │ DelToEol   │ part of this line was deleted. │
  3252.   ├───────┼────────────┼────────────────────────────────┤
  3253.   │  3    │ DelRtWord  │ word (1 word deleted)          │
  3254.   ├───────┼────────────┼────────────────────────────────┤
  3255.   │  2    │ DelLine    │ This entire line was deleted.  │
  3256.   ├───────┼────────────┼────────────────────────────────┤
  3257.   │  1    │ DelLine    │ This entire line was deleted.  │
  3258.   ├───────┼────────────┼────────────────────────────────┤
  3259.   │ empty │            │                                │
  3260.   ├───────┼────────────┼────────────────────────────────┤
  3261.   │ empty │            │                                │
  3262.   └───────┴────────────┴────────────────────────────────┘ bottom
  3263.  
  3264.  
  3265. Each time one of the text deletion commands is used, a new entry is made
  3266. in the Kill Buffer.  In the above example, four deletion commands have
  3267. been issued.  The text from these four commands has been stored in the
  3268. Kill Buffer from top to bottom. In other words, when the DelToEol
  3269. command was issued (entry #4), the first three entries were pushed
  3270. toward the bottom of the Kill Buffer and the newly deleted text was
  3271. entered at the top.
  3272.  
  3273. In the example, the Kill Buffer has enough room for six entries. When a
  3274. seventh entry is made, the oldest entry, or entry number one, will be
  3275. discarded from the Kill Buffer.  Once discarded from the Kill Buffer,
  3276. that text can no longer be recovered.
  3277.  
  3278. To recover deleted text, the UnKill <Ctrl U> command is used.  Each time
  3279. the UnKill command is issued the most recent entry (the "top" entry of
  3280. the Kill Buffer) is retrieved and restored to the file.  This entry is
  3281. then deleted from the Kill Buffer, and all remaining entries move toward
  3282. the top of the buffer by one position. In the example, the first time
  3283. the UnKill command is issued, entry #4 will be recovered.  Next, entry
  3284. #3 will be recovered, and so on. Thus, recovering deleted text follows
  3285. the rule of LIFO (last in, first out).  The last entry of deleted text
  3286. will be the first one recovered and the first entry of deleted text will
  3287. be the last one recovered.
  3288.  
  3289. Here are some additional items of which to be aware regarding the Kill
  3290. Buffer and its uses.
  3291.  
  3292. * A separate Kill Buffer is maintained for each file loaded into the
  3293.   editor. The Kill Buffer for each file exists only as long as the file
  3294.   is loaded.
  3295.  
  3296. * The default size of the Kill Buffer is 30 entries.  This may be
  3297.   changed using the configuration program. Refer to the "General
  3298.   Options" section of Chapter 2 for more information.
  3299.  
  3300. * The text deleted using the DelLine, DelRtWord, and DelToEol commands
  3301.   will take up one entry in the Kill Buffer each time the commands are
  3302.   executed.  The text deleted using the DeleteBlock command will take up
  3303.   as many entries as there are lines in the Block.
  3304.  
  3305.   It is important to note that regardless of how large the Kill Buffer
  3306.   is configured to be, it may be possible to mark and delete a Block in
  3307.   the file which is larger than the buffer.  If this situation arises,
  3308.   the editor will save the deleted text in the Kill Buffer from the
  3309.   bottom up.  For example, if a marked Block is 200 lines long and five
  3310.   lines too large for the Kill Buffer, then the top five lines of the
  3311.   Block will not be loaded into the Kill Buffer.
  3312.  
  3313. * When issuing the UnKill command to recover deleted text, deleted lines
  3314.   will be inserted immediately before the current cursor line, and
  3315.   deleted words will be inserted immediately before the current cursor
  3316.   position.
  3317.  
  3318.  
  3319. MACROS
  3320. ──────────────────────────────────────────────────────────────────────
  3321.  
  3322. The editor provides a helpful facility for creating macros, allowing you
  3323. to simplify and automate editing tasks and to more fully customize the
  3324. editor.  Macros can be created as simple Keyboard Macros, by having the
  3325. editor record a series of keystrokes as they are entered from the
  3326. keyboard.  More versatile macros can be created by assigning a series of
  3327. editing and macro commands to specific keys within the editor's Keyboard
  3328. Definition file (QCONFIG.DAT).  To create even more complex macros, QMac
  3329. (the external macro facility) can be used.  (QMac is included in the
  3330. registered version.)
  3331.  
  3332. For more information about creating and using macros, refer to the file
  3333. MACRO.DOC.
  3334.  
  3335.  
  3336.  
  3337. PRINTING
  3338. ──────────────────────────────────────────────────────────────────────
  3339.  
  3340. The editor allows you to print either your entire current file or a
  3341. portion of the current file.
  3342.  
  3343. To print the entire current file, enter the PrintAll <Alt P><A> command.
  3344. The entire current file is printed.
  3345.  
  3346. To print a portion of the current file, first mark the portion of the
  3347. file to be printed using the Block-marking commands.  (Refer to the
  3348. "Block Commands" section in this chapter.)  Next, enter the PrintBlock
  3349. <Alt P><B> command.  Only the marked Block portion of the file is
  3350. printed.
  3351.  
  3352.  
  3353. Print Formatting
  3354. ────────────────
  3355.  
  3356. The editor contains various commands to make printing easier and more
  3357. useful. There are commands to set the left margin, the top margin, and
  3358. the bottom margin; to specify the number of lines per page; to indicate
  3359. the output destination; to select single-, double-, or triple-spacing;
  3360. and to indicate whether you want to print line numbers.
  3361.  
  3362. * SetPrintLeftMargin <Alt P><L> or <Esc><P><L>
  3363.   This command specifies the number of blank spaces to be used as a left
  3364.   margin.  Valid values are zero to 200.
  3365.  
  3366. * SetPrintPageSize <Alt P><P> or <Esc><P><P>
  3367.   This command specifies the number of lines to be printed on each page.
  3368.   Valid values are zero to 200.  A value of zero instructs the editor to
  3369.   print continuously without page breaks.
  3370.  
  3371. * SetPrintTopMargin <Alt P><T> or <Esc><P><T>
  3372.   This command specifies the number of lines printed at the top of each
  3373.   page before the text is printed.  Valid values are zero to 200.  If
  3374.   the print page size is zero, the editor treats the document as one
  3375.   page and the top margin is ignored for all pages except the first
  3376.   printed page.
  3377.  
  3378. * SetPrintBotMargin <Alt P><O> or <Esc><P><O>
  3379.   This command specifies the number of lines left blank at the bottom of
  3380.   each page.  Valid values are zero to 200.  If the print page size is
  3381.   zero, this command has no effect.
  3382.  
  3383. * SetPrintDevice <Alt P><D> or <Esc><P><D>
  3384.   This command identifies the print output destination.  Choices are
  3385.   PRN, LPT1, LPT2, LPT3, or any valid DOS filename (for printing to
  3386.   disk).
  3387.  
  3388. * SetPrintLineSpacing <Alt P><S> or <Esc><P><S>
  3389.   This command indicates the number of lines to advance for each new
  3390.   line of text to be printed.  Valid values are 1 to 200.  A value of 1
  3391.   signifies single-spaced output, 2 signifies double-spaced output, etc.
  3392.  
  3393. * TogglePrintLineNumbers <Alt P><N> or <Esc><P><N>
  3394.   This command determines whether line numbers are printed.  Set this
  3395.   option ON to have file line numbers printed at the beginning of each
  3396.   line; set this option OFF if you do not want line numbers added to the
  3397.   print output.
  3398.  
  3399. * TogglePrintPause <Alt P><U> or <Esc><P><U>
  3400.   This command determines whether the editor suspends printing between
  3401.   pages.
  3402.  
  3403.   To have the editor pause after each page is sent to the printer, set
  3404.   this option ON.  (For this option to operate effectively, the print
  3405.   page size must be set to an appropriate value greater than 0.  Refer
  3406.   to SetPrintPageSize in this section.)  The editor then requires a
  3407.   keypress after every page is printed before continuing.  This allows
  3408.   you to manually feed paper to the printer, one sheet at a time.
  3409.  
  3410.   Set this option OFF for the editor to automatically send each
  3411.   subsequent page to the printer without pausing.
  3412.  
  3413.  
  3414. Formfeeds
  3415. ─────────
  3416.  
  3417. The editor automatically sends a formfeed character (ASCII 12) to the
  3418. printer between each printed page.  A page is determined according to
  3419. the value of SetPrintPageSize (refer to the previous section).
  3420.  
  3421. By default, the editor also sends a formfeed character when printing is
  3422. complete (after the last printed page).  You can configure the editor so
  3423. that it does not send a final formfeed.  To change the default behavior,
  3424. set the configuration option "Add formfeed after printing" to <N>.
  3425. (Refer to the "Printer Options" section of Chapter 2.)  You can also
  3426. change this option interactively for the current session only, with the
  3427. following command:
  3428.  
  3429. * TogglePrintAddFF <Alt P><R> or <Esc><P><R>
  3430.   This command determines whether the editor sends a formfeed character
  3431.   when printing is complete (after the last printed page).
  3432.  
  3433.   To have the editor send a final formfeed character to the printer, set
  3434.   this option ON.  Set this option OFF to prevent the editor from
  3435.   automatically sending a final formfeed character.
  3436.  
  3437.  
  3438. At times you may find it desirable to insert formfeed characters
  3439. directly into your text.  For example, you want the page size for your
  3440. text to be 55 lines, which you have set using the SetPrintPageSize
  3441. command, but there is a 15-line table in the text that should appear on
  3442. a page by itself.  To accomplish this, simply insert formfeed characters
  3443. immediately before and after the table.
  3444.  
  3445. To insert a formfeed character in the text, enter the Literal <Ctrl P>
  3446. command followed by a formfeed <Ctrl L> character.  Alternatively, you
  3447. can insert a formfeed character by holding down the <Alt> key and typing
  3448. "12" on the alternate numeric keypad.  (You can also use the built-in
  3449. ASCII-chart feature to insert a formfeed character.  Refer to the
  3450. AsciiChart command in the section "Adding Text" of this chapter.)  If
  3451. you need to insert formfeed characters into your text repeatedly, you
  3452. may want to use a macro.  An example of a macro to insert formfeed
  3453. characters can be found in the "Example of a Keyboard Macro" in the file
  3454. MACRO.DOC.
  3455.  
  3456. It is also possible, from within the editor, to send a formfeed
  3457. character directly to the printer, causing the printer to eject a page.
  3458. To do this, simply execute the PrintEject <Alt P><F> command.
  3459.  
  3460.  
  3461. THE SHELL AND DOS COMMANDS
  3462. ──────────────────────────────────────────────────────────────────────
  3463.  
  3464. (For the following discussion, "Dos" is an editor command, while "DOS"
  3465. refers to the computer's operating system.)
  3466.  
  3467. Two very helpful commands allow you to interact with DOS from within the
  3468. editor.  The commands, Shell and Dos, allow you to perform most
  3469. functions that you would normally execute from the DOS command line,
  3470. then return you to your original position in the editor.
  3471.  
  3472. The editor also has an option which frees up memory when executing the
  3473. Shell and Dos commands.  For details, see "Swapping, [JR] Shell
  3474. Indicator" later in this section.
  3475.  
  3476. * Shell <F9>
  3477.   This command should be used when executing multiple DOS commands. Upon
  3478.   executing the Shell command, control is passed to DOS. The DOS prompt
  3479.   appears on the screen, just as if no other programs were running. You
  3480.   may now enter most DOS commands. (Some exceptions are noted below.)
  3481.   Once you have entered all the desired DOS commands, simply type "exit"
  3482.   and press <Enter>, and control passes back to the editor.  You are
  3483.   then positioned in the file exactly where you were when the Shell
  3484.   command was executed.
  3485.  
  3486. * Dos <Alt F9>
  3487.   This command should be used when executing a single DOS command. Upon
  3488.   executing this command, the editor prompts with:
  3489.  
  3490.   ┌────────────────────────────────────────────────────────────┐
  3491.   │Execute what:                                               │
  3492.   │                                                            │
  3493.   └────────────────────────────────────────────────────────────┘
  3494.  
  3495.   You may now enter almost any DOS command.  (Some exceptions are noted
  3496.   below.)  Once the DOS command has completed, pressing any key causes
  3497.   control to pass back to the editor.
  3498.  
  3499. You should not execute any TSR programs (programs that terminate but
  3500. remain resident in your computer) from the Shell or Dos commands.  For
  3501. example, the DOS PRINT and GRAPHICS commands are TSR programs.
  3502.  
  3503. If you mistakenly execute a TSR program from the Shell or Dos command,
  3504. the computer's memory allocation scheme will probably become fragmented,
  3505. and as a result, the editor's available memory may become severely
  3506. limited.  You should save your files, terminate the editor, and then
  3507. reboot the computer.
  3508.  
  3509.  
  3510. Swapping, [JR] Shell Indicator
  3511. ──────────────────────────────
  3512. The Dos and Shell commands can optionally swap the editor out to disk or
  3513. expanded memory leaving only a 2K kernel in memory.  This allows much
  3514. more memory for running memory-hungry programs (such as compilers) from
  3515. within the editor.  You can set this option by default using the
  3516. configuration program (Advanced Options), or you can toggle it ON and
  3517. OFF using the ToggleSwap command.
  3518.  
  3519. While in a shell with swapping ON, the editor will maintain a file with
  3520. a ".SWP" file extension in your root directory.  It is very important
  3521. that you do not delete this file while in the shell.
  3522.  
  3523.  
  3524. Once in the shell, the editor will optionally append "[JR]" to the DOS
  3525. prompt string, provided that:
  3526.  
  3527. 1. You have defined the prompt environment variable.
  3528.  
  3529. 2. There is enough space left in the environment.
  3530.  
  3531. 3. You have set the "Change DOS PROMPT during a Shell" option to <Y> via
  3532.    the configuration program.  (For more information, refer to the
  3533.    "Advanced Options" section of Chapter 2.)
  3534.  
  3535. If you have NOT defined the prompt environment variable, then we suggest
  3536. you do so.  It is helpful with DOS command-line operations in general.
  3537. A suggested prompt is (this should go in your AUTOEXEC.BAT file):
  3538.  
  3539.     set prompt=$p $t $g
  3540.  
  3541. If you do have a prompt string defined, but you do not get the "[JR]"
  3542. prompt in the editor's shell, add the following to your AUTOEXEC.BAT:
  3543.  
  3544.     set x=x
  3545.  
  3546.  
  3547. WORD-PROCESSING COMMANDS
  3548. ──────────────────────────────────────────────────────────────────────
  3549.  
  3550. The editor has all the features you need to do basic word processing.
  3551. In addition to the commands which enable you to view and edit your text
  3552. (discussed in previous sections), the editor provides word-wrapping,
  3553. paragraph-reformatting capabilities, and a line-centering command.
  3554.  
  3555. The editor also contains commands for changing case and for filling a
  3556. Block. Refer to the sections in this chapter on "Changing Case" and
  3557. "Manipulating Blocks Directly," respectively, for more information on
  3558. these two functions.
  3559.  
  3560.  
  3561. * The Right Margin
  3562.   To benefit from the word-wrap and paragraph-reformatting features of
  3563.   the editor, an appropriate right margin must first be set.  The
  3564.   default setting is column 72.  This may be changed using the
  3565.   configuration program.  (Refer to the "General Options" section of
  3566.   Chapter 2 for instructions on how to change the right margin setting.)
  3567.   The value of the right margin is used each time the editor is
  3568.   initiated.
  3569.  
  3570.   The editor provides the ability to change the right margin setting
  3571.   temporarily while the editor is running without affecting the
  3572.   permanent setting.  To change the right margin setting temporarily,
  3573.   execute the SetRmargin <Ctrl O R> command.  The editor prompts with:
  3574.  
  3575.   ┌────────────────────────────────────┐
  3576.   │Right margin [1..2032]:             │
  3577.   │                                    │
  3578.   └────────────────────────────────────┘
  3579.  
  3580.   Enter the desired column number for the right margin.  The new setting
  3581.   is in effect until the SetRmargin command is executed again or the
  3582.   next time the editor is initiated.  WordWrap mode (see below) is
  3583.   automatically switched ON whenever the right margin is set using this
  3584.   command.
  3585.  
  3586. * WordWrap
  3587.   WordWrap is an editing mode which can be switched ON and OFF using the
  3588.   ToggleWordwrap <Ctrl O W> command.  When switched ON, this mode causes
  3589.   the cursor to advance automatically to the next line as text is
  3590.   entered.
  3591.  
  3592.   The cursor advances to the next line based on the right margin, which
  3593.   is set using the SetRmargin <Ctrl O R> command (see above).  Once the
  3594.   cursor reaches the right margin and a non-blank character is typed,
  3595.   the cursor, along with the word (that is, any continuous string of
  3596.   non-blank characters) currently being typed, will be advanced to the
  3597.   next line.
  3598.  
  3599.   The cursor does not advance to the next line if the current line does
  3600.   not contain at least one space.
  3601.  
  3602.  
  3603. * Paragraph Reformatting
  3604.   The WrapPara <Alt B> command reformats text from the current cursor
  3605.   position to the next blank line or the end of the file.
  3606.  
  3607.   The right-hand side of the text is reformatted based on the right
  3608.   margin.  The right margin is set using the SetRmargin <Ctrl O R>
  3609.   command (see above).
  3610.  
  3611.   The left-hand side of the text is reformatted based on AutoIndent
  3612.   mode.  If AutoIndent mode is switched OFF, the left margin is column
  3613.   one.  If AutoIndent mode is switched ON, the first non-blank character
  3614.   on the line immediately AFTER the cursor line is used for the left
  3615.   margin.  Using the line AFTER the cursor line allows for special
  3616.   indentation for the first line of a paragraph.  (For more information
  3617.   on AutoIndent mode, refer to the "Modes" section of this chapter.)
  3618.  
  3619. * CenterLine <Ctrl O T>
  3620.   Centers the current cursor line based on column 1 and the right
  3621.   margin.  Use the SetRmargin <Ctrl O R> command to change the right
  3622.   margin (see above).
  3623.  
  3624.   With the cursor inside of a line Block, you can execute this command
  3625.   to center several lines at once.  With the cursor inside of a column
  3626.   Block, you can center lines based on the left and right Block
  3627.   boundaries.
  3628.  
  3629.  
  3630. MODES
  3631. ──────────────────────────────────────────────────────────────────────
  3632.  
  3633. The editor uses modes to affect its operation.  In general, an editor
  3634. mode is a state during which certain commands or keystrokes behave
  3635. differently.  Following is an explanation of various editor modes.
  3636.  
  3637. * Insert mode
  3638.   Insert mode can be switched ON and OFF by pressing the <Ins> key. When
  3639.   Insert mode is ON, an "I" appears on the StatusLine.  The following
  3640.   table describes the commands and keystrokes which are affected by
  3641.   Insert mode.
  3642.  
  3643.  
  3644.   Command/
  3645.   Keystroke      Insert ON                 Insert OFF
  3646.   ───────────    ──────────────────────    ──────────────────────
  3647.   Characters,    Shifts text to right      Overwrites existing
  3648.   Space          of cursor, one column     text.
  3649.                  to the right.
  3650.  
  3651.   Backspace      Deletes character/word    Deletes character/word
  3652.                  to left of cursor. Text   to left of cursor. Text
  3653.                  to right of cursor        to right of cursor does
  3654.                  shifts left one column.   not shift.
  3655.  
  3656.   Return         Splits line at cursor     Does not split line.
  3657.                  position.  Cursor moves   Cursor moves to next
  3658.                  to next line.             line.
  3659.  
  3660.   TabLt,         Tabs cursor and shifts    Tabs cursor only.
  3661.   TabRt          text same number of
  3662.                  positions.
  3663.  
  3664.  
  3665. * CUA-Style Block Marking mode
  3666.  
  3667.   This mode enables CUA-style Block marking, using the shifted cursor
  3668.   keys.  CUA-Style Block Marking mode can be switched ON and OFF using
  3669.   the ToggleCUAMarking command.  You can also set this mode as the
  3670.   default mode by setting the configuration option "Use CUA-style (shift
  3671.   cursor) block marking" to <Y>.  (Refer to the "Advanced Options"
  3672.   section of Chapter 2.)
  3673.  
  3674.   When switched ON, this mode forces the shifted cursor keys to mark
  3675.   non-inclusive character Blocks.  The "CUA-Style Block Marking" section
  3676.   of this chapter provides additional information about this mode.
  3677.  
  3678.  
  3679. * AutoIndent mode
  3680.   AutoIndent mode is switched ON and OFF using the ToggleIndent
  3681.   <Ctrl Q I> command.  This mode, when ON, positions the cursor at the
  3682.   current left margin (This is not the same as the print left margin.)
  3683.   whenever the <Enter> key is pressed.  The current left margin is
  3684.   determined by the first non-blank character on the immediately
  3685.   preceding line.  When AutoIndent mode is ON, an "A" appears on the
  3686.   StatusLine.  The following table describes the commands and keystrokes
  3687.   which are affected by AutoIndent mode.
  3688.  
  3689.  
  3690.   Command/
  3691.   Keystroke    AutoIndent ON                 AutoIndent OFF
  3692.   ─────────    ──────────────────────────    ────────────────────────
  3693.  
  3694.   Return       Cursor positioned below       Cursor positioned at
  3695.                first non-blank character     column one.
  3696.                of previous line.
  3697.  
  3698.   WrapPara     When reformatting, the left   A left margin of zero is
  3699.                margin is determined from     used when reformatting.
  3700.                the first non-blank
  3701.                character on the line
  3702.                immediately following the
  3703.                cursor line.
  3704.  
  3705.  
  3706. * C mode
  3707.   This mode is specifically for "C" language programming.  It is
  3708.   switched ON and OFF using the configuration program.  (Refer to the
  3709.   "General Options" section of Chapter 2 for information on switching C
  3710.   mode ON and OFF.)  C mode is only in effect when AutoIndent mode is
  3711.   also ON.
  3712.  
  3713.   C mode, when switched ON, affects files with a ".c", ".cpp", ".cxx",
  3714.   ".h", ".hpp", or ".hxx", file extension.  When the current cursor line
  3715.   contains a "{" and the <Enter> key is pressed, the editor issues a
  3716.   normal Return followed by a TabRt command.  Additionally, when a "}"
  3717.   character is entered, the editor first issues a TabLt command and then
  3718.   enters the "}" character.
  3719.  
  3720.  
  3721. * WordWrap mode
  3722.   WordWrap mode is switched ON and OFF using the ToggleWordwrap
  3723.   <Ctrl O W> command.  When switched ON, this mode causes the cursor to
  3724.   advance to the next line automatically as text is entered.
  3725.  
  3726.   The cursor advances to the next line based on the right margin, which
  3727.   is set using the SetRmargin <Ctrl O R> command.  Once the cursor
  3728.   reaches the right margin and a non-blank character is typed, the
  3729.   cursor, along with the word (i.e., any continuous string of non-blank
  3730.   characters) currently being typed, is advanced to the next line.
  3731.  
  3732.   The cursor does not advance to the next line if the current line does
  3733.   not contain at least one space.  When WordWrap mode is ON, a "W"
  3734.   appears on the StatusLine.
  3735.  
  3736.  
  3737. * BackUp mode
  3738.   BackUp mode is switched ON and OFF using the ToggleBakups <Esc><O><B>
  3739.   command.  When BackUp Mode is switched ON, the editor creates a backup
  3740.   copy (using the .bak file extension) for any file that is edited and
  3741.   saved. The backup copy of the file is an image of the file before it
  3742.   was last edited and saved.  When BackUp mode is OFF, no backup files
  3743.   are created.
  3744.  
  3745.  
  3746. * MacroRecord mode
  3747.   MacroRecord mode is switched ON and OFF using the MacroRecord <Ctrl M>
  3748.   command.  This mode, when ON, records and assigns a series of commands
  3749.   and keystrokes to a designated key (or scrap area).  This creates a
  3750.   Keyboard Macro.  For a complete explanation of macros and their use,
  3751.   refer to the file MACRO.DOC.  When MacroRecord mode is ON, an "R"
  3752.   appears on the StatusLine.
  3753.  
  3754.  
  3755. * EnterMatching mode
  3756.   EnterMatching mode is switched ON and OFF using the ToggleEnterMatching
  3757.   <Esc><O><E> command.  If switched ON, the editor automatically inserts
  3758.   into the text a corresponding ), ], }, or " character each time a (, [,
  3759.   {, or " character, respectively, is entered.
  3760.  
  3761.  
  3762. * Box Drawing mode
  3763.   Box Drawing mode is switched ON and OFF using the ToggleBoxDraw <Shift
  3764.   F1> command.  If switched ON, the cursor movement keys (up, down,
  3765.   right, left) can be used to "draw" lines in the text.  This can be
  3766.   very useful for creating charts and tables.  The ToggleBoxType command
  3767.   allows you to select different line drawing styles.  When Box Drawing
  3768.   mode is ON, a "B" appears on the StatusLine.
  3769.  
  3770.  
  3771. * Synchronized Scrolling mode
  3772.   Synchronized Scrolling mode is switched ON and OFF using the
  3773.   ToggleSyncScroll <Ctrl O Y> command.  If switched ON, and there are
  3774.   multiple windows on the screen, the editor simultaneously performs
  3775.   cursor movement and scrolling activity in all other windows as you
  3776.   move the cursor or scroll the text in the current window.  When
  3777.   Synchronized Scrolling mode is ON, an "S" appears on the StatusLine.
  3778.  
  3779.   The "Synchronized Scrolling in Windows" section of this chapter
  3780.   provides additional information about this mode.
  3781.  
  3782.  
  3783. * Fixed Tabs mode
  3784.   Fixed Tabs mode is selected using the SetTabType <Esc><O><Y> command.
  3785.   If selected, the TabRt and TabLt commands move the cursor to the next
  3786.   (or previous) tabstop as defined by the value of the cursor tab width
  3787.   (set by the SetCtabwidth <Esc><O><C> command).
  3788.  
  3789.  
  3790. * Smart Tabs mode
  3791.   Smart Tabs mode is selected using the SetTabType <Esc><O><Y> command.
  3792.   If selected, the TabRt and TabLt commands place the cursor beneath the
  3793.   first character of the next (or previous) word on the first nonblank
  3794.   line preceding the current cursor line.
  3795.  
  3796.  
  3797. * Variable Tabs mode
  3798.   Variable Tabs mode is selected using the SetTabType <Esc><O><Y>
  3799.   command.  If selected, the TabRt and TabLt commands move the cursor to
  3800.   the next (or previous) tabstop as defined by the variable tab stops
  3801.   (set by the SetVarTabStops <Esc><O><V> command).
  3802.  
  3803.   Note that all of the supported tab modes may be set via the Tab type
  3804.   menu (<Esc><O><Y>).
  3805.  
  3806.  
  3807. * Physical Tab Expansion mode
  3808.   Physical Tab Expansion mode is switched ON and OFF using the
  3809.   ToggleTabsExpand <Alt V> command.  If switched ON, physical tab
  3810.   characters (ASCII 9) found in a file are expanded into spaces
  3811.   according to the Physical Tab Width set in the configuration program.
  3812.   (Refer to the "Tab Settings" section of Chapter 2.)  If switched OFF,
  3813.   physical tabs are displayed on the screen and a physical tab character
  3814.   is placed in the text each time the TabRt command is executed.
  3815.  
  3816.  
  3817. ┌──────────────────────────────────────────────────────────────┐
  3818. │ Tip:                                                         │
  3819. │   In general, Physical Tab Expansion mode should always be   │
  3820. │   set ON.  You would only want to set it OFF if you are      │
  3821. │   editing binary or data files that contain or require       │
  3822. │   physical tabs.                                             │
  3823. └──────────────────────────────────────────────────────────────┘
  3824.  
  3825.  
  3826. * Tabs Out mode
  3827.   Tabs Out mode is switched ON and OFF using the ToggleTabsOut <Alt I>
  3828.   command.  If switched ON, continuous spaces in a line of text are
  3829.   replaced with physical tabs (ASCII 9) according to the Physical Tab
  3830.   Width set in the configuration program.  (Refer to the "Tab Settings"
  3831.   section of Chapter 2.)  Spaces falling between single or double quotes
  3832.   are not replaced.
  3833.  
  3834.  
  3835. CHAPTER 2.  CUSTOMIZING THE EDITOR
  3836. ══════════════════════════════════════════════════════════════════════
  3837.  
  3838. The editor provides a configuration capability that allows you to
  3839. customize the editor to suit your individual preferences.  There are a
  3840. wide range of options which may be customized, including key
  3841. assignments, colors, tab settings, and printer options.
  3842.  
  3843. Of course, customizing the editor is not a requirement.  If you like the
  3844. editor exactly the way it is, it is not necessary to use the
  3845. configuration program.
  3846.  
  3847. The configuration program is QCONFIG.EXE and is included on the
  3848. distribution diskette, along with the other editor files.  The
  3849. configuration program customizes the editor by actually modifying the
  3850. editor program itself - Q.EXE.
  3851.  
  3852.  
  3853. INITIATING THE CONFIGURATION PROGRAM
  3854. ──────────────────────────────────────────────────────────────────────
  3855.  
  3856. To initiate the configuration program, type "qconfig" from the DOS
  3857. command line, and press <Enter>.  The program displays a prompt to
  3858. request the name of the editor program to customize.  The following
  3859. prompt is issued by the configuration program:
  3860.  
  3861.     Enter program name to config, <CR> for Q.EXE :
  3862.  
  3863.  
  3864. Simply press <Enter>, unless you have previously renamed the editor, or
  3865. if the editor is located in another directory.
  3866.  
  3867. If you have renamed the editor, enter the appropriate filename and press
  3868. <Enter>.  If it is located in another directory, enter the full pathname
  3869. and press <Enter>.
  3870.  
  3871. If the file to be customized could not be located on disk, the error
  3872. message "File not found" is displayed.  Check the editor's filename
  3873. and/or path for accuracy.
  3874.  
  3875. If the version numbers of the editor and the configuration program are
  3876. not the same, the error message "Configuration area not found" is
  3877. displayed.  Try reloading the editor software from the distribution disk
  3878. (in particular, Q.EXE and QCONFIG.EXE).
  3879.  
  3880.  
  3881. THE CONFIGURATION MENU
  3882. ──────────────────────────────────────────────────────────────────────
  3883.  
  3884. The configuration program displays the following menu from which to
  3885. select the desired functions for customization.
  3886.  
  3887. ┌──────────────────────────────────────────────────────────────┐
  3888. │  Configuration choices.                                      │
  3889. │  Choose One of the Following by pressing the indicated Key:  │
  3890. │                                                              │
  3891. │  Advanced options                                            │
  3892. │  Colors/screen                                               │
  3893. │  General options                                             │
  3894. │  Help install                                                │
  3895. │  Keys                                                        │
  3896. │  Printer options                                             │
  3897. │  Quit                                                        │
  3898. │  Save changes and quit                                       │
  3899. │  Tab settings                                                │
  3900. └──────────────────────────────────────────────────────────────┘
  3901.  
  3902. Following is a brief explanation of these menu items.  They are
  3903. discussed in detail later in this chapter.
  3904.  
  3905. * Advanced options
  3906.     Contains a variety of configurable options, including those related
  3907.     to video display, DOS memory, editor menus, and the mouse.
  3908.  
  3909. * Colors/screen
  3910.     Allows you to change colors of various display items and to specify
  3911.     numerous other editing display options.
  3912.  
  3913. * General options
  3914.     A miscellaneous category of options.
  3915.  
  3916. * Help install
  3917.     Allows you to install your own Help Screen.
  3918.  
  3919. * Keys
  3920.     Allows you to reassign editor commands to different keys.
  3921.  
  3922. * Printer options
  3923.     Allows you to set options for printing text, such as page size.
  3924.  
  3925. * Quit
  3926.     Terminates the program.  You are first prompted to save or not save
  3927.     changes.
  3928.  
  3929. * Save changes and quit
  3930.     Terminates the program, unconditionally saving your changes.
  3931.  
  3932. * Tab settings
  3933.     Allows you to set various tab-related options, including the
  3934.     physical and cursor tab widths.
  3935.  
  3936.  
  3937. To make a selection from the menu, type the first letter of the desired
  3938. menu item.  You are prompted for a response to each option within the
  3939. category.  Each configuration option is displayed along with its current
  3940. value.  (The Keys and Help install categories, however, work a little
  3941. differently and simply request a filename.)
  3942.  
  3943. For each option displayed, you may enter a new value.  If you do not
  3944. wish to change the current value, simply press <Enter>.  After you have
  3945. reviewed all options in a category, you are returned to the main
  3946. configuration menu where you can select another category.
  3947.  
  3948. Once you have completed customizing, you may save all the changes you
  3949. have made either by simply typing "S" at the main menu prompt; or by
  3950. typing "Q" at the main menu prompt, and then typing "Y" at the prompt,
  3951. "Save Changes (Y/N)?".  Your changes are made permanent (that is,
  3952. effective the next time you execute the editor) by writing them to the
  3953. editor program itself (Q.EXE or QMR.EXE).  The configuration program
  3954. then terminates.
  3955.  
  3956. If you decide that you do not want to save your changes, type "Q" at the
  3957. main menu prompt, then type "N" at the prompt, "Save Changes (Y/N)?". No
  3958. changes are saved, and the configuration program terminates.
  3959.  
  3960.  
  3961. ADVANCED OPTIONS
  3962. ──────────────────────────────────────────────────────────────────────
  3963.  
  3964. This section contains a list of the Advanced Options which can be
  3965. customized using the configuration program.  The configuration program
  3966. prompt message, the default value, and a description are given for each
  3967. option.
  3968.  
  3969. * Test for presence of enhanced keyboard (Y/N)? [N] :
  3970.     If your system has an enhanced (101-key) keyboard, set this option
  3971.     to <Y> for the editor to recognize the additional keys such as F11,
  3972.     F12, and the grey cursor keys.
  3973.  
  3974.  
  3975. ┌──────────────────────────────────────────────────────────────┐
  3976. │ Tip:                                                         │
  3977. │   Many TSRs, including mouse drivers, do not properly        │
  3978. │   recognize the enhanced keyboard.  If you are using a TSR   │
  3979. │   and it is not working with the editor, try setting this    │
  3980. │   option to <N>.                                             │
  3981. └──────────────────────────────────────────────────────────────┘
  3982.  
  3983.  
  3984. * Swap to Expanded memory or DISK on the Dos and Shell commands (Y/N)? [Y] :
  3985.     Select <Y> if you want the editor to swap itself out of DOS memory
  3986.     and to expanded memory or disk whenever the Dos or Shell commands
  3987.     are executed.  This will leave a small 2K editor kernel in DOS
  3988.     memory, freeing up the rest of DOS memory for running other
  3989.     applications, such as compilers or spreadsheets, out of the Dos or
  3990.     Shell commands.
  3991.  
  3992. * Drive and path for swapping (*=default-drive) [C:\] :
  3993.     If you selected <Y> for the previous option, then specify here the
  3994.     disk drive and path to be used for swapping.  Enter an asterisk
  3995.     ("*") if you want the editor to default to your current drive for
  3996.     swapping.
  3997.  
  3998. * Should the editor change the cursor size (Y/N)? [Y] :
  3999.     By default, the editor uses a small cursor when Insert mode is OFF,
  4000.     and a medium cursor when Insert mode is ON.  Select <N> if you do
  4001.     not want the editor to change the cursor size.
  4002.  
  4003. * Do you want a large flashing cursor (Y/N)? [N] :
  4004.     If you want to use a large flashing block cursor, set this option to
  4005.     <Y>.  This option is great for laptop users.
  4006.  
  4007. * Size of cursor in Insert mode [0..7] [4] :
  4008.     Determines the size of the cursor when Insert mode is ON.  A value
  4009.     of 0 indicates that no cursor indication is to be displayed.  Values
  4010.     1 to 7 indicate increasingly larger flashing cursor sizes.
  4011.  
  4012. * Size of cursor in overwrite mode [0..7] [1] :
  4013.     Determines the size of the cursor when overwrite mode is ON.  A
  4014.     value of 0 indicates that no cursor indication is to be displayed.
  4015.     Values 1 to 7 indicate increasingly larger flashing cursor sizes.
  4016.  
  4017. * Get num rows on screen from BIOS data area (100% IBM PC only)(Y/N)? [N] :
  4018.     FOR NON EGA/VGA SYSTEMS ONLY.  Set this option to <Y> if you want
  4019.     the editor to automatically detect the number of rows on your
  4020.     screen.
  4021.  
  4022.     Setting this option to <Y>, to automatically detect the number of
  4023.     rows on your screen, only works if you have an IBM PC-AT or 100%
  4024.     compatible.  For example, setting this option to <Y> does NOT work
  4025.     on AT&T 6300s.
  4026.  
  4027. * Number of rows on screen (NOT NEEDED with EGA/VGA) [25..255] [25] :
  4028.     FOR NON EGA/VGA SYSTEMS ONLY.  If you set the previous option to
  4029.     <N>, then you must provide the number of rows on your screen here.
  4030.  
  4031.     You should set this option to 25 unless you have a special card and
  4032.     monitor (such as a Genius Video System) that allow you to display
  4033.     more than 25 rows.
  4034.  
  4035. * Do you want the Return command to split lines in Insert mode (Y/N)? [Y] :
  4036.     Normally, the Return command splits the current line at the cursor
  4037.     when executed with Insert mode ON.  This means that the portion of
  4038.     the line following the cursor is inserted on a new line.  If Insert
  4039.     mode is OFF, the Return command simply places the cursor at the
  4040.     beginning of the next line.
  4041.  
  4042.     If you select <N> for this option, the Return command always acts as
  4043.     if Insert mode is OFF.  Return moves the cursor to the beginning of
  4044.     the next line with no effect on the text.
  4045.  
  4046. * Should Cut and Copy use current line if no block marked (Y/N)? [N] :
  4047.     If you enter <Y> for this option, the current cursor line is used
  4048.     when you execute the Cut or Copy command and no Block is marked in
  4049.     the current file.
  4050.  
  4051. * Do you want the Escape command to invoke the menus (Y/N)? [Y] :
  4052.     By default, the Escape command displays the pull-down menu, when
  4053.     executed outside of the menu or any editor prompts.  If you do NOT
  4054.     want the Escape command to do this, select <N> for this option.
  4055.  
  4056. * Should the editor restore the starting drive/dir on program exit (Y/N)? [Y] :
  4057.     Set this option to <Y> if you want to return to the original DOS
  4058.     drive and directory on program exit regardless of which drives and
  4059.     directories you have accessed with the editor's directory picker or
  4060.     the Dos or Shell commands.
  4061.  
  4062. * Should the editor change the DOS PROMPT during a shell (Y/N)? [N] :
  4063.     Set this option to <Y> if you want the following to be appended to
  4064.     the DOS prompt during an editor Shell: [JR].
  4065.  
  4066. * Should TabRt/TabLt be allowed to shift an entire block (Y/N)? [N] :
  4067.     Set this option to <Y> if you want the TabRt and TabLt commands to
  4068.     shift entire marked Blocks when the cursor is within the marked
  4069.     Block and Insert mode is ON.
  4070.  
  4071. * Date format: 1=MM-DD-YY, 2=DD-MM-YY, 3=YY-MM-DD [1] :
  4072.     Determines the date format used by the InsertDate command.  The date
  4073.     string consists of a three-character abbreviation for the day of the
  4074.     week, followed by the numerical date of the month.  The order of the
  4075.     elements of the date of the month can be selected from three
  4076.     options:  select <1> for month, followed by day of the month,
  4077.     followed by 2-digit year; select <2> for day of the month, followed
  4078.     by month, followed by 2-digit year; select <3> for 2-digit year,
  4079.     followed by month, followed by day of the month.
  4080.  
  4081. * Character to use to separate the elements of the date [-] :
  4082.     Determines the separator character used by the InsertDate command.
  4083.     Select the character to be used to separate the day, month, and year
  4084.     elements of the date.
  4085.  
  4086. * Time format: 1=24-hour, 2=12-hour [1] :
  4087.     Determines the time format used by the InsertTime command.  Select
  4088.     <1> for 24-hour time format; select <2> for 12-hour time format.
  4089.  
  4090. * Character to use to separate the elements of the time [:] :
  4091.     Determines the separator character used by the InsertTime command.
  4092.     Select the character to be used to separate the hours and minutes
  4093.     (and seconds for 24-hour format) elements of the time.
  4094.  
  4095. * Full path to supplemental files [] :
  4096.     Identifies the directory where the editor's supplemental files are
  4097.     stored.  These supplemental files are:  the files used by the
  4098.     spelling checker (in the registered version); and any loadable
  4099.     macro files (that is, Keyboard Macros and macros created with QMac).
  4100.  
  4101.     If you are using DOS 3 or above and you store all supplemental files
  4102.     in the same directory as the editor, you do not need to set this
  4103.     option.
  4104.  
  4105. * Enable mouse processing (Y/N)? [Y] :
  4106.     Determines whether the editor recognizes use of a mouse for editing
  4107.     operations.  If this option is set to <Y>, and a mouse driver is
  4108.     loaded, the mouse will be active in the editor.  Set this option to
  4109.     <N> to disable mouse operation within the editor.
  4110.  
  4111. * Left-handed mouse (Y/N)? [N] :
  4112.     Determines whether the mouse operates as a left-handed mouse.  Set
  4113.     this option to <Y> to swap the functions of the outside buttons on
  4114.     the mouse for use with your left hand.  Set this option to <N> for
  4115.     standard operation of the mouse buttons.
  4116.  
  4117. * Mouse hold time (in 1/18th sec) [1..36]  [9] :
  4118.     Indicates the amount of time a mouse button must be held down to
  4119.     distinguish between the mouse button being clicked (pressed and
  4120.     immediately released) versus being pressed and held.
  4121.  
  4122.     When a mouse button is clicked, a command executed from a mouse
  4123.     scrollbar is executed one time only.  When a mouse button is pressed
  4124.     and held, the command is executed repeatedly until the mouse button
  4125.     is released.  (See "Mouse repeat-delay factor" below.)  Only the
  4126.     scrolling operations are repeatable.
  4127.  
  4128.     To select the amount of time that you must hold down the mouse
  4129.     button before the editor begins repeating a mouse-executed command,
  4130.     set this option to the desired value, from 1 through 36.  The time
  4131.     is measured in terms of machine timer ticks, in 1/18-second
  4132.     increments.
  4133.  
  4134.     For example:  A value of 9 means that the mouse button is considered
  4135.     clicked if pressed and released within 1/2 second; otherwise, if the
  4136.     mouse button is pressed and held for longer than 1/2 second, the
  4137.     editor begins repeating the selected command.
  4138.  
  4139. * Mouse repeat-delay factor [0..32767]  [600] :
  4140.     Indicates the relative amount of time the editor is to wait between
  4141.     repetitions of a command when a mouse button is pressed and held.
  4142.     (See "Mouse hold time" above.)  When a mouse button is pressed and
  4143.     held, a command executed from a mouse scrollbar is repeated as long
  4144.     as the mouse button is held down.
  4145.  
  4146.     To control the amount of time that the editor delays between each
  4147.     repetition of a mouse-executed command, set this option to an
  4148.     appropriate value, from 0 through 32767.  This option is hardware
  4149.     dependent, and is relative to the speed of your particular machine.
  4150.     To slow down repetition, increase the value of this option; to speed
  4151.     up repetition, decrease the value.
  4152.  
  4153. * Use CUA-style (shift cursor) block marking (Y/N)? [Y] :
  4154.     Determines whether CUA-Style Block Marking mode is initially ON or
  4155.     OFF each time the editor is executed.  If this option is set to <Y>,
  4156.     the editor forces the following shifted cursor keys to operate as
  4157.     indicated (regardless of the commands asssigned to these keys in
  4158.     QCONFIG.DAT):
  4159.  
  4160.  CUA-style Key          Block-marking Operation
  4161.  ────────────────────   ───────────────────────────────────────────────
  4162.  
  4163.  <Shift Cursor Left>    Mark/extend Block and move left one character
  4164.  <Shift Cursor Right>   Mark/extend Block and move right one character
  4165.  <Shift Cursor Up>      Mark/extend Block and move up one line
  4166.  <Shift Cursor Down>    Mark/extend Block and move down one line
  4167.  <Shift Home>           Mark/extend Block and move to beginning of line
  4168.  <Shift End>            Mark/extend Block and move to end of line
  4169.  <Shift PgUp>           Mark/extend Block and move up one page
  4170.  <Shift PgDn>           Mark/extend Block and move down one page
  4171.  
  4172.     Set this option to <N> to have the shifted cursor keys operate
  4173.     according to their assignments in QCONFIG.DAT.
  4174.  
  4175. * Should blocks remain marked after CUA marking (Y/N)? [N] :
  4176.     Determines whether a Block marked using the CUA-style marking keys
  4177.     (with CUA-Style Block Marking mode ON) will remain marked after you
  4178.     type a non-CUA-style Block marking or command key.  Set this option
  4179.     to <Y> for such Blocks to remain marked.  Set this option to <N> if
  4180.     you want such Blocks to be automatically unmarked once you type a
  4181.     non-CUA-style Block marking or command key.
  4182.  
  4183.  
  4184. COLORS/SCREEN OPTIONS
  4185. ──────────────────────────────────────────────────────────────────────
  4186.  
  4187. This section contains a list of the Screen and Screen Color Options
  4188. which can be customized using the configuration program.  The
  4189. configuration program prompt message, the default value, and a
  4190. description are given for each option.
  4191.  
  4192. * StatusLine position: 'T' for top, 'B' for bottom  [T] :
  4193.     Indicates whether the StatusLine is to be positioned at the top line
  4194.     or the bottom line of the screen.
  4195.  
  4196. * StatusLine fill character [ ] :
  4197.     This character is used to "break up" the information on the editor's
  4198.     StatusLine.  The default is the space character.  For example, if
  4199.     the dash character is specified, the StatusLine would look like
  4200.     this:
  4201.  
  4202.     ┌─────────────────────────────────────────────────────────────┐
  4203.     │L 15-- C 15---IAW-BS--411K-----*c:\semware\editor.doc--------│
  4204.     └─────────────────────────────────────────────────────────────┘
  4205.  
  4206. * Display hex/decimal values of current character on StatusLine (Y/N)? [N] :
  4207.     Shows the hexadecimal and decimal values of the current character at
  4208.     the right-hand edge of the StatusLine.
  4209.  
  4210. * Do you want the display boxed (Y/N)? [N] :
  4211.     Indicates whether the editing screen is to be completely enclosed in
  4212.     a box, so that each window on the screen has a border.  To fully use
  4213.     the mouse capabilities, set this option to <Y>.  This is because the
  4214.     mouse uses the border area to scroll text and perform many window
  4215.     operations.
  4216.  
  4217. * Do you want the original screen restored upon termination (Y/N)? [Y] :
  4218.     Determines whether the editor is to restore the original screen upon
  4219.     exiting the program.  Be aware that setting this option to <Y>
  4220.     causes the editor to require an additional 4K of memory; however,
  4221.     this can be very handy after long editing sessions to see what you
  4222.     were doing before you started.
  4223.  
  4224. * Do you want snow checking (Y/N)? [N] :
  4225.     Determines whether the editor should slow down screen updating to
  4226.     eliminate "snow" (a sparkling appearance on the screen that results
  4227.     from updating the screen too quickly).
  4228.  
  4229.     If this option is set to <Y>, and the editor determines that your
  4230.     system has a Color/Graphics Adapter card (CGA), the editor does not
  4231.     write to the screen at full speed, in order to avoid "snow".  If you
  4232.     have a CGA card that does not create snow effects, set this option
  4233.     to <N> so that the editor updates the screen as quickly as possible.
  4234.  
  4235.     If you have a VGA, EGA, COMPAQ, ZENITH, or other color adapter that
  4236.     allows full speed screen updating without "snow", then set this
  4237.     option to <N>.
  4238.  
  4239.     This option has no effect on monochrome and true EGA/VGA cards.
  4240.  
  4241. * Columns to scroll horizontally for screen lt/rt commands [1..400] [1] :
  4242.     Specifies the number of columns that the editor should scroll when
  4243.     you execute the ScreenLeft or ScreenRight commands.
  4244.  
  4245. * Startup video mode: 0=current, 1=25lines, 2=28lines, 3=43/50lines [0] :
  4246.     Determines whether the editor sets an initial video mode upon
  4247.     startup.
  4248.  
  4249.     0:  Use the current video mode
  4250.     1:  Set the monitor to 25-line mode
  4251.     2:  Set the monitor to 28-line mode     (VGA only)
  4252.     3:  Set the monitor to 43/50-line mode  (EGA = 43, VGA = 50)
  4253.  
  4254. * Startup attribute set: 0=AutoDetect, 1=Monochrome, 2=Color [0] :
  4255.     Determines whether the editor uses color or monochrome attributes
  4256.     for the screen display.  If you set this option to <0>, the editor
  4257.     will automatically detect the monitor type (color or monochrome) and
  4258.     use the appropriate attributes.
  4259.  
  4260. * Do you want to configure the mono attribute set (Y/N)? [N] :
  4261.     Select <Y> if you wish to specify the attributes to use for the
  4262.     monochrome attribute set.
  4263.  
  4264. * Do you want to configure the color attribute set (Y/N)? [N] :
  4265.     Select <Y> if you wish to specify the attributes to use for the
  4266.     color attribute set.  (This option is skipped if you select <Y> for
  4267.     the previous option.)
  4268.  
  4269. If you select <Y> for either of the previous two options, the following
  4270. color chart and screen display options are presented:
  4271.  
  4272. ┌────────────────────────────────────────────────────────────────────────────────┐
  4273. │Attribute chart/guide. [0..127]                                                 │
  4274. │                                                                                │
  4275. │[  0][  1][  2][  3][  4][  5][  6][  7][  8][  9][ 10][ 11][ 12][ 13][ 14][ 15]│
  4276. │[ 16][ 17][ 18][ 19][ 20][ 21][ 22][ 23][ 24][ 25][ 26][ 27][ 28][ 29][ 30][ 31]│
  4277. │[ 32][ 33][ 34][ 35][ 36][ 37][ 38][ 39][ 40][ 41][ 42][ 43][ 44][ 45][ 46][ 47]│
  4278. │[ 48][ 49][ 50][ 51][ 52][ 53][ 54][ 55][ 56][ 57][ 58][ 59][ 60][ 61][ 62][ 63]│
  4279. │[ 64][ 65][ 66][ 67][ 68][ 69][ 70][ 71][ 72][ 73][ 74][ 75][ 76][ 77][ 78][ 79]│
  4280. │[ 80][ 81][ 82][ 83][ 84][ 85][ 86][ 87][ 88][ 89][ 90][ 91][ 92][ 93][ 94][ 95]│
  4281. │[ 96][ 97][ 98][ 99][100][101][102][103][104][105][106][107][108][109][110][111]│
  4282. │[112][113][114][115][116][117][118][119][120][121][122][123][124][125][126][127]│
  4283. │                                                                                │
  4284. │Select attributes from the chart above.                                         │
  4285. └────────────────────────────────────────────────────────────────────────────────┘
  4286.  
  4287.  
  4288. The chart above is for use with the following Screen Color Options.
  4289. Enter a number, in response to each option, based on the color in which
  4290. the number appears on the chart.
  4291.  
  4292. If you have a monochrome screen, many of the values in the chart will
  4293. appear to be the same color.  However, you still have the options of
  4294. normal, highlighted, underlined, and reverse video.  If you have a color
  4295. monitor, you can take advantage of a wider array of options.  (The
  4296. default monochrome setting is shown in the text of each prompt message
  4297. below.  The default color setting is shown to the right of the prompt
  4298. message.)
  4299.  
  4300. * Attribute for Blocked Text [112]:         Default Color Setting: [120]
  4301.     The color used for marked Blocks.
  4302.  
  4303. * Attribute for Error msgs [112]:            Default Color Setting: [15]
  4304.     The color used for warning and error messages.
  4305.  
  4306. * Attribute for Text Area [7]:               Default Color Setting: [27]
  4307.     The color used for normal text (the editing screen).
  4308.  
  4309. * Attribute for StatusLine [112]:           Default Color Setting: [112]
  4310.     The color used for the StatusLine.
  4311.  
  4312. * Attribute for Cursor Line [15]:            Default Color Setting: [30]
  4313.     The color used for the cursor line.  Reverts to normal when a
  4314.     Block is marked.
  4315.  
  4316. * Attribute for Messages [15]:               Default Color Setting: [15]
  4317.     The color used for messages.
  4318.  
  4319. * Attribute for Hi-lited items [9]:           Default Color Setting: [9]
  4320.     The color used for "found" search strings when using the Find and
  4321.     FindReplace commands.
  4322.  
  4323. * Attribute for EOF line/indicator [15]:     Default Color Setting: [15]
  4324.     The color used for the "End of File" line.
  4325.  
  4326. * Attribute for Help Screen [112]:          Default Color Setting: [112]
  4327.     The color used for the Help Screen.
  4328.  
  4329. * Attribute for Display Box Border [15]:     Default Color Setting: [31]
  4330.     The color used for the border around the editor, if the editing
  4331.     screen is boxed.
  4332.  
  4333. * Attribute for PopUp windows [15]:         Default Color Setting: [112]
  4334.     The color used for the border around the pull-down menus and the
  4335.     prompt boxes.
  4336.  
  4337. * Attribute for Menu items [7]:             Default Color Setting: [112]
  4338.     The color used for items within sub-menus of the pull-down menu.
  4339.  
  4340. * Attribute for Selected Menu items [112]:   Default Color Setting: [32]
  4341.     The color used for selected items within the pull-down menus.
  4342.  
  4343. * Attribute for Menu Quick Letter [15]:     Default Color Setting: [116]
  4344.     The color used for the highlighted quick-key letter for each item
  4345.     listed on the pull-down menus.
  4346.  
  4347. * Attribute for Selected Menu Quick Letter [15]:
  4348.                                              Default Color Setting: [36]
  4349.     The color used for the highlighted quick-key letter for the selected
  4350.     item on the pull-down menus.
  4351.  
  4352.  
  4353. GENERAL OPTIONS
  4354. ──────────────────────────────────────────────────────────────────────
  4355.  
  4356. This section contains a list of the General Options which can be
  4357. customized using the configuration program.  The configuration program
  4358. prompt message, the default value, and a description are given for each
  4359. option.
  4360.  
  4361. * Do you want the DelCh command to join lines if at EOL (Y/N)? [Y] :
  4362.     Affects the behavior of the DelCh command.  Set this option to <N>
  4363.     if you want the DelCh command to be restricted so that it only works
  4364.     on the current line.  Set this option to <Y> if you want the DelCh
  4365.     command to work across line breaks.  This means that if you issue
  4366.     DelCh at the end of the line, the following line is joined to the
  4367.     end of the cursor line (just as if you had issued a JoinLine
  4368.     command).
  4369.  
  4370. * Do you want PQuit, Exit, and File to return to EditFile prompt (Y/N)? [Y] :
  4371.     If only 1 file is being edited, the editor can either terminate or
  4372.     ask for another file to edit whenever the PQuit, Exit, or File
  4373.     commands are executed.  To have the editor terminate, select <N>.
  4374.  
  4375. * Do you want the editor to start in WordWrap mode (Y/N)? [N] :
  4376.     Set this option to <Y> if you want WordWrap mode to be ON each time
  4377.     the editor is started; otherwise, set it to <N>. Refer to the
  4378.     "Word-Processing Commands" section of Chapter 1 for more information
  4379.     on WordWrap mode.
  4380.  
  4381. * Default right margin for WordWrap [1..2032] [72] :
  4382.     Indicates the default right margin setting to be used each time the
  4383.     editor is executed.  Set this option to a value from 1 to 2032.
  4384.     Refer to the "Word-Processing Commands" section of Chapter 1 for
  4385.     more information.
  4386.  
  4387. * Do you want the editor to start in Insert mode (Y/N)? [Y] :
  4388.     Set this option to <Y> if you want Insert mode to be ON each time
  4389.     the editor is started; otherwise, set it to <N>. Refer to the
  4390.     "Modes" section of Chapter 1 for more information on Insert mode.
  4391.  
  4392. * Do you want the editor to start in AutoIndent mode (Y/N)? [Y] :
  4393.     Set this option to <Y> if you want AutoIndent mode to be ON each
  4394.     time the editor is started; otherwise, set it to <N>. Refer to the
  4395.     "Modes" section of Chapter 1 for more information on AutoIndent
  4396.     mode.
  4397.  
  4398. * Do you want the editor to use sticky AutoIndent (Y/N)? [N] :
  4399.     Set this option to <Y> if you want autoindenting to search back more
  4400.     than one line, if necessary, to find a nonblank line.  AutoIndent
  4401.     mode must be set ON for this option to work.  Refer to the "Modes"
  4402.     section of Chapter 1 for more information on AutoIndent mode.
  4403.  
  4404. * Load wildcarded filespecs from the command line (Y/N)? [Y] :
  4405.     Affects the editor's behavior when filenames are specified
  4406.     containing wildcard characters (* or ?), from the DOS command line.
  4407.     Set this option to <Y> if you want the editor to load every file
  4408.     that matches the wildcarded specification.  (For example, if you
  4409.     enter "q *.doc", the editor loads all files with the extension
  4410.     ".doc").  Set this option to <N> if you want the editor to display a
  4411.     pick list of all the files which match the wildcarded specification.
  4412.     (You can then choose the file you want to edit by using the cursor
  4413.     keys to move to the desired file and then pressing <Enter>.)
  4414.  
  4415. * Load wildcarded filespecs from inside the editor (Y/N)? [N] :
  4416.     Affects the editor's behavior when filenames are specified
  4417.     containing wildcard characters (* or ?) within the prompt box for
  4418.     the EditFile command.  Set this option to <Y> if you want the editor
  4419.     to load every file that matches the wildcarded specification.  (For
  4420.     example, if you enter "*.doc", the editor loads all files with the
  4421.     extension ".doc"). Set this option to <N> if you want the editor to
  4422.     display a pick list of all the files which match the wildcarded
  4423.     specification. (You can then choose the file you want to edit by
  4424.     using the cursor keys to move to the desired file and then pressing
  4425.     <Enter>.)
  4426.  
  4427. * Do you want the editor to start in EnterMatching mode (Y/N)? [N] :
  4428.     Set this option to <Y> if you want EnterMatching mode to be ON each
  4429.     time the editor is started; otherwise, set it to <N>.  Refer to the
  4430.     "Modes" section of Chapter 1 for more information on EnterMatching
  4431.     mode.
  4432.  
  4433. * Use CMODE for .c, .cpp, .cxx, .h, .hpp, and .hxx files (Y/N)? [Y] :
  4434.     Set this option to <Y> if you want C mode to be ON each time the
  4435.     editor is started; otherwise, set it to <N>.  Refer to the "Modes"
  4436.     section of Chapter 1 for more information on C mode.
  4437.  
  4438. * Default number of deleted lines to keep per file [0..300] [30] :
  4439.     Indicates the number of deleted lines that are saved by the editor,
  4440.     and can later be recalled using the UnKill command.  For every file
  4441.     that is loaded in an editing session, this maximum number of lines
  4442.     is available.  Enter a value from 0 to 300.  (A value of 0 indicates
  4443.     that no deleted lines are to be saved.)
  4444.  
  4445. * Remove trailing blanks from edited lines (Y/N)? [Y] :
  4446.     Determines whether the editor is to remove trailing blanks from each
  4447.     line of text that is edited.  Set this option to <Y> if you want
  4448.     trailing blanks removed. (For most purposes, this setting is
  4449.     preferable, as it generally results in smaller files.)  Set this
  4450.     option to <N> if you want spaces at the end of lines to be
  4451.     preserved.
  4452.  
  4453. * Terminate files with a Control Z (Y/N)? [N] :
  4454.     Determines whether the editor is to add a Control Z to the end of a
  4455.     file when it is saved to disk.  Set this option to <Y> if you want
  4456.     to have a Control Z added to the end of files; otherwise, set this
  4457.     option to <N>.
  4458.  
  4459.     MS/PC-DOS versions 2.0 and above do NOT require an end-of-file
  4460.     terminator.  (The exact size of the file is stored in the
  4461.     directory.)  However, some programs that were directly translated
  4462.     from their CP/M versions still require the Control Z end-of-file
  4463.     marker.  If you have one of these programs for which you are
  4464.     creating text files, you should select <Y> for this option.
  4465.  
  4466. * Do you want backups of saved files (Y/N)? [Y] :
  4467.     Determines whether the editor is to create a backup file (an image
  4468.     of the file before you did any editing) with the .bak extension each
  4469.     time you save a file.  Set this option to <Y> to have backups
  4470.     created; otherwise, set this option to <N>.
  4471.  
  4472. * Prompt for filename on open window (Y/N)? [N] :
  4473.     Affects the editor's behavior when the HorizontalWindow command is
  4474.     executed.  Set this option to <Y> to have the editor prompt for the
  4475.     name of the file you want to load into the new window.  Set this
  4476.     option to <N> to have the editor load the next file in the ring into
  4477.     the new window.  (If only one file is loaded, another window
  4478.     containing the same file is opened.)
  4479.  
  4480. * Close window when a file is quit (Y/N)? [Y] :
  4481.     Affects the editor's behavior when more than one window is open on
  4482.     the screen and a command is executed that discards a file from the
  4483.     editor.  Set this option to <Y> to have the editor close the window
  4484.     containing the discarded file.  Set this option to <N> to have the
  4485.     editor load the next file in the ring into that window.
  4486.  
  4487. * Display End Of File marker (Y/N)? [Y] :
  4488.     Determines whether the editor displays an indicator line at the end
  4489.     of the file, in the following format:
  4490.  
  4491.                <*** End of File ***>
  4492.  
  4493.     Set this option to <Y> to have the end-of-file indicator line
  4494.     displayed; set this option to <N> if you do not want this line
  4495.     displayed.
  4496.  
  4497. * Insert line blocks ABOVE the cursor line (Y/N)? [N] :
  4498.     Determines whether the editor is to insert line Blocks above or
  4499.     below the cursor line when the Paste, CopyBlock, or MoveBlock
  4500.     commands are executed.  Set this option to <Y> to have line Blocks
  4501.     inserted above the cursor line; set this option to <N> to have line
  4502.     Blocks inserted below the cursor line.
  4503.  
  4504. * Do you want a beep on warning messages and missed searches (Y/N)? [Y]:
  4505.     Determines whether the editor sounds the bell on any warning message
  4506.     and when there is no match resulting from a Find or FindReplace
  4507.     operation.  If you want the bell to sound, select <Y>; otherwise,
  4508.     select <N>.
  4509.  
  4510. * Default Find options [IWBG] [I]:
  4511.     Indicates the default search options when using the Find command.
  4512.     The available default options are: "I" (Ignore case), "W" (Words
  4513.     only), "B" (Backwards search), and "G" (Global search).  Multiple
  4514.     options can be specified.
  4515.  
  4516.     Note that even when these options are not selected as defaults, they
  4517.     can still be selected from within the editor when the Find command
  4518.     is executed.  For more information on the Find command and the
  4519.     available Find options, refer to the "Finding Text" section of
  4520.     Chapter 1.
  4521.  
  4522. * Default FindReplace options [IWBNG] []:
  4523.     Indicates the default search and replace options when using the
  4524.     FindReplace command. The available default options are: "I" (Ignore
  4525.     case), "W" (Words only), "B" (Backwards search), "N" (No prompting),
  4526.     and "G" (Global search).  Multiple options can be specified.
  4527.  
  4528.     Note that even when these options are not selected as defaults, they
  4529.     can still be selected from within the editor when the FindReplace
  4530.     command is executed.  For more information on the FindReplace
  4531.     command and the available FindReplace options, refer to the
  4532.     "Replacing Text" section of Chapter 1.
  4533.  
  4534. * Should Find and RepeatFind center the found text (Y/N)? [Y]
  4535.     Affects the editor's behavior when the Find, RepeatFind, or
  4536.     IncrementalSearch commands are executed.  Set this option to <Y> to
  4537.     have the line containing the found text centered vertically within
  4538.     the current window.  Set this option to <N> to have line containing
  4539.     the found text positioned on the same row as the current line.
  4540.  
  4541. * Default file extension number 1 [.c]:
  4542.     Specifies the first default file extension.  See explanation below.
  4543.  
  4544. * Default file extension number 2 [.pas]:
  4545.     Specifies the second default file extension.  See explanation below.
  4546.  
  4547. * Default file extension number 3 [.inc]:
  4548.     Specifies the third default file extension.  See explanation below.
  4549.  
  4550. * Default file extension number 4 [.asm]:
  4551.     Specifies the fourth default file extension.  See explanation below.
  4552.  
  4553. * Default file extension number 5 [.h]:
  4554.     Specifies the fifth default file extension.  See explanation below.
  4555.  
  4556. * Default file extension number 6 [.doc]:
  4557.     Specifies the sixth default file extension.  See explanation below.
  4558.  
  4559.     Six default file extensions are provided to save keystrokes each
  4560.     time a filename to edit is entered.  These file extensions are used
  4561.     when the editor is executed with a filename from the command line or
  4562.     when the EditFile command is entered.
  4563.  
  4564.     If the filename entered does not end with a period (and does not
  4565.     include the DOS wildcard characters) and that file does NOT exist as
  4566.     named, the editor appends the first default file extension to the
  4567.     name and tries to load that file.  If that file exists, then the
  4568.     editor loads it for editing.  If it does not exist, the editor
  4569.     repeats the process with the other default file extensions.  If no
  4570.     matching file is found, then the editor creates a new file as
  4571.     originally named.
  4572.  
  4573.     For each of the six previous options, enter the desired file
  4574.     extension.
  4575.  
  4576. * Default to case-insensitive sort (Y/N)? [N] :
  4577.     Indicates the default case-sensitivity selection when the Sort
  4578.     command is executed.  Set this option to <Y> to have the Sort
  4579.     command ignore the case of characters; set this option to <N> to
  4580.     have the Sort command respect the upper/lower case of characters.
  4581.  
  4582. * Default to descending-order sort (Y/N)? [N] :
  4583.     Indicates the default sort order when the Sort command is executed.
  4584.     Set the option to <Y> to sort in descending order; set this option
  4585.     to <N> to sort in ascending order.
  4586.  
  4587.  
  4588. THE HELP SCREEN
  4589. ──────────────────────────────────────────────────────────────────────
  4590.  
  4591. The editor allows you to create a customized one-page Help Screen, which
  4592. may be displayed at any time from within the editor by executing the
  4593. QuickHelp <F1> command.  This section contains instructions for
  4594. installing your own Help Screen using the configuration program.
  4595.  
  4596. Of course, you may prefer to use the default Help Screen which is
  4597. already loaded into the editor.  In that case no action is required.
  4598. However, if you want to design and use your own Help Screen, simply
  4599. follow these steps:
  4600.  
  4601. 1. Create an 80 x 25 (80 columns by 25 lines) text file (you can use the
  4602.    editor to create this file) and list all of the information that
  4603.    should appear on the screen when the QuickHelp command is executed.
  4604.    We suggest that you list less frequently used commands in this file,
  4605.    while leaving out more familiar commands such as cursor movement and
  4606.    paging.
  4607.  
  4608. 2. Run QCONFIG and select option <H> from the configuration menu.
  4609.  
  4610. 3. At the prompt, enter the name of the Help file just created.
  4611.  
  4612. That is all there is to it!  Now when you execute QuickHelp from within
  4613. the editor, your customized Help Screen is displayed.
  4614.  
  4615.  
  4616. KEYBOARD CONFIGURATION
  4617. ──────────────────────────────────────────────────────────────────────
  4618.  
  4619. The editor provides the extremely helpful capability of assigning editor
  4620. commands (as well as strings of characters) to almost any key you
  4621. prefer.
  4622.  
  4623. This allows you to assign frequently-used commands to keys which are
  4624. most convenient for your use, and even to completely reassign commands
  4625. to emulate another text editor or word processor with which you are
  4626. already familiar.
  4627.  
  4628. By taking a few minutes to review this section, your future text editing
  4629. may become significantly more comfortable as a result of customizing
  4630. your keyboard to suit your individual preferences.
  4631.  
  4632.  
  4633. The Keyboard Definition File
  4634. ────────────────────────────
  4635.  
  4636. The editor uses the Keyboard Definition file to customize the keyboard.
  4637. This file contains a list of all the keys to which commands may be
  4638. assigned.  Supplied with the editor is a Keyboard Definition file called
  4639. QCONFIG.DAT which contains the default settings for the keyboard.  Other
  4640. files are supplied which emulate certain common word processors and
  4641. editors.  The READ.ME file contains a list of these other emulations.
  4642.  
  4643. The Keyboard Definition file consists of a list of configurable keys and
  4644. the commands or macros which are assigned to them.  The configurable
  4645. keys are on the left side of the file, with the commands or macros
  4646. assigned to the keys on the right.  Blank lines and lines starting with
  4647. an asterisk "*" are ignored. The QCONFIG.DAT file contains a complete
  4648. list of configurable keys.
  4649.  
  4650. Control keys are specified by a "^".  For example:
  4651.  
  4652.   ^f1 or ^F1 specifies Control F1
  4653.   ^c  or ^C  specifies Control C
  4654.  
  4655. Alternate keys are specified by a "@".  For example:
  4656.  
  4657.   @c  or @C  specifies Alt C
  4658.   @PgUp      specifies Alt PgUp
  4659.  
  4660. Shift keys are specified by a "#".  For example:
  4661.  
  4662.   #f1 or #F1 specifies Shift F1
  4663.  
  4664. The format of a line in the Keyboard Definition file is simply the
  4665. keystroke followed by the command.  For example:
  4666.  
  4667.   f1                      QuickHelp
  4668.   #f5                     MakeCtrofScreen
  4669.   @f2                     InsertLine
  4670.   cursorup                CursorUp
  4671.   ^cursorleft             WordLeft
  4672.   @a                      DropAnchor
  4673.   ^a                      WordLeft
  4674.  
  4675.  
  4676. ┌──────────────────────────────────────────────────────────────┐
  4677. │ Tip:                                                         │
  4678. │   The configuration program ignores the case of the key      │
  4679. │   name, and ignores the case of the commands and of any      │
  4680. │   underscores that may be embedded in the commands.  This    │
  4681. │   means that PGUP, PgUp, and pgup all refer to the same key, │
  4682. │   and InsertLine, insert_line, and Insert_Line all refer to  │
  4683. │   the same command.                                          │
  4684. │                                                              │
  4685. │   Also, the order of the keys does not matter.  The          │
  4686. │   configurable keys may be put in any order desired.         │
  4687. └──────────────────────────────────────────────────────────────┘
  4688.  
  4689.  
  4690. There is also a provision for assigning commands or macros to a
  4691. "two-key".  A two-key consists of two distinct keystrokes, such as
  4692. <Ctrl B> immediately followed by <A>.  To assign a command or macro to a
  4693. two-key, enter both keystrokes of the two-key in the first column
  4694. (keystroke column) separated by an underline.  For example, to assign
  4695. the Exit command to the two-key, <Ctrl F1> <F2>, enter the following
  4696. into the Keyboard Definition file:
  4697.  
  4698.   ^f1_f2     Exit
  4699.  
  4700. (Note that if you assign a command or macro to a single key, and then
  4701. use that same key as the initial key of a two-key sequence, you lose the
  4702. two-key assignment.  For example, if you assign a command to <Ctrl B>,
  4703. you would not be able to use a two-key assignment such as <Ctrl B A>.)
  4704.  
  4705.  
  4706. To allow you to further customize the editor, multiple commands and/or
  4707. text can be assigned to any configurable key (or two-key).  This is
  4708. accomplished through the use of macros.  For more information on
  4709. creating macros and assigning them to keys, refer to "Creating Macro
  4710. Programs" in the file MACRO.DOC.
  4711.  
  4712.  
  4713. Creating a Keyboard Definition File
  4714. ───────────────────────────────────
  4715.  
  4716. To customize the keyboard using the default Keyboard Definition file,
  4717. QCONFIG.DAT, no action is required.  the editor is distributed with this
  4718. Keyboard Definition file already installed.
  4719.  
  4720. The following outlines steps to create and install your own Keyboard
  4721. Definition file.  (To customize the keyboard using one of the supplied
  4722. word-processor or editor emulation Keyboard Definition files, skip to
  4723. step number 6.)
  4724.  
  4725. 1.  Load the file QCONFIG.DAT into the editor.  (From the DOS command
  4726.     line, type "q qconfig.dat" and press <Enter>).
  4727.  
  4728. 2.  Rename the file using the ChangeFilename command <Alt O>.
  4729.  
  4730. 3.  Browse through the file using the Cursor Up and Down keys.  Notice
  4731.     that the left side of the file contains a list of all configurable
  4732.     keys.  To the right of each key is the command or macro currently
  4733.     assigned to the key.  Some keys have no commands assigned.
  4734.  
  4735. 4.  Change the commands assigned to the keys to suit your particular
  4736.     needs.  For more information on how to assign keys, refer to the
  4737.     previous section, "The Keyboard Definition File."
  4738.  
  4739. 5.  Save the file and exit the editor by pressing <Alt X>.
  4740.  
  4741. 6.  Run QCONFIG and select option <K> from the menu.
  4742.  
  4743. 7.  You will be prompted for the name of the Keyboard Definition file.
  4744.     Enter the name of the Keyboard Definition file you wish to load.  If
  4745.     you are creating your own file, enter the new name chosen in step 2.
  4746.  
  4747. 8.  Your key assignments are then incorporated into the editor program,
  4748.     Q.EXE, and the configuration menu reappears.
  4749.  
  4750. 9.  Press <S> to save your changes and terminate the program.
  4751.  
  4752. 10. Run the editor to insure that your key assignments function as
  4753.     desired.
  4754.  
  4755.  
  4756. PRINTER OPTIONS
  4757. ──────────────────────────────────────────────────────────────────────
  4758.  
  4759. This section contains a list of the Printer Options which can be
  4760. customized using the configuration program.  The configuration program
  4761. prompt message, the default value, and a description are given for each
  4762. option.
  4763.  
  4764. * Default left margin for printing [0..200] [0]:
  4765.     Indicates the number of spaces the editor skips before printing each
  4766.     line.  If you do not want the editor to skip any spaces at the
  4767.     beginning of each line, select zero.
  4768.  
  4769. * Default page size for printing [0..200] [55]:
  4770.     Indicates the number of lines to be printed per page.  The editor
  4771.     sends a formfeed character to the printer after printing this number
  4772.     of lines.  If you do NOT want the editor to send formfeed characters
  4773.     (for continuous printing), select zero.
  4774.  
  4775. * Add formfeed after printing (Y/N)? [Y] :
  4776.     Determines whether the editor sends a formfeed character when
  4777.     printing is complete.  Select <Y> if you want a formfeed character
  4778.     to be sent at the end of the document.  (This is helpful for
  4779.     correctly lining up the printer in preparation for the next printing
  4780.     operation.)  Select <N> if you do not want a final formfeed
  4781.     character to be sent.
  4782.  
  4783. * Default top margin for printing [0..200] [0] :
  4784.     Indicates the number of lines to be left blank at the top of each
  4785.     page during printing.
  4786.  
  4787. * Default bottom margin for printing [0..200] [0] :
  4788.     Indicates the number of lines to be left blank at the bottom of each
  4789.     page during printing.
  4790.  
  4791. * Include line number at beginning of each printed line (Y/N)? [N] :
  4792.     Determines whether the editor prints line numbers at the beginning
  4793.     of each line.  To include line numbers in the printed output, select
  4794.     <Y>; otherwise, select <N>.
  4795.  
  4796. * Default line spacing: 1=single, 2=double, etc... [1..200]  [1] :
  4797.     Indicates the line spacing to be used when printing.
  4798.  
  4799. * Should printing pause between pages (Y/N)? [N] :
  4800.     Determines whether the editor pauses between each printed page.  To
  4801.     have the editor pause between pages, select <Y>.  (For this option
  4802.     to be effective, the print page size must be non-zero.)  If you do
  4803.     not want the editor to pause between pages, select <N>.
  4804.  
  4805. * Print Device: 0=PRN, 1=LPT1, 2=LPT2, 3=LPT3 [0] :
  4806.     Determines the initial print device.
  4807.  
  4808.  
  4809. TAB SETTINGS
  4810. ──────────────────────────────────────────────────────────────────────
  4811.  
  4812. This section contains a list of all Tab Setting Options which can be
  4813. customized using the configuration program.  The configuration program
  4814. prompt message, the default value, and a description are given for each
  4815. option.
  4816.  
  4817.  
  4818. * Do you want the editor to start in Physical Tab Expansion mode (Y/N)? [Y] :
  4819.     Determines whether Physical Tab Expansion mode is initially ON or
  4820.     OFF each time the editor is executed.  Set this option to <Y> if you
  4821.     want Physical Tab Expansion mode to be ON each time the editor is
  4822.     started; otherwise, set it to <N>.  Refer to the "Modes" section of
  4823.     Chapter 1 for more information on Physical Tab Expansion mode.
  4824.  
  4825. * Do you want the editor to start in Tabs Out mode (Y/N)? [N] :
  4826.     Determines whether Tabs Out mode is initially ON or OFF each time
  4827.     the editor is executed.  Set this option to <Y> if you want Tabs Out
  4828.     mode to be ON each time the editor is started; otherwise, set it to
  4829.     <N>. Refer to the "Modes" section of Chapter 1 for more information
  4830.     on Tabs Out mode.
  4831.  
  4832. * Default physical tab width [1..12] [8]:
  4833.     Specifies the tab width that the editor uses when Physical Tab
  4834.     Expansion mode or Tabs Out mode is ON.
  4835.  
  4836. * Default cursor tab width [1..12] [8]:
  4837.     Specifies the tab width that the editor uses the TabRt and TabLt
  4838.     commands are executed.
  4839.  
  4840. * Default file extension number 1 for default tabs [.c]:
  4841.   Physical tab width for above [4]:
  4842.   Cursor tab width for above [4]:
  4843.     Specifies the first default file extension for default tabs.  See
  4844.     explanation below.
  4845.  
  4846. * Default file extension number 2 for default tabs [.pas]:
  4847.   Physical tab width for above [2]:
  4848.   Cursor tab width for above [2]:
  4849.     Specifies the second default file extension for default tabs.  See
  4850.     explanation below.
  4851.  
  4852. * Default file extension number 3 for default tabs [.inc]:
  4853.   Physical tab width for above [2]:
  4854.   Cursor tab width for above [2]:
  4855.     Specifies the third default file extension for default tabs.  See
  4856.     explanation below.
  4857.  
  4858. * Default file extension number 4 for default tabs [.asm]:
  4859.   Physical tab width for above [8]:
  4860.   Cursor tab width for above [8]:
  4861.     Specifies the fourth default file extension for default tabs.  See
  4862.     explanation below.
  4863.  
  4864. * Default file extension number 5 for default tabs [.h]:
  4865.   Physical tab width for above [4]:
  4866.   Cursor tab width for above [4]:
  4867.     Specifies the fifth default file extension for default tabs.  See
  4868.     explanation below.
  4869.  
  4870. * Default file extension number 6 for default tabs [.doc]:
  4871.   Physical tab width for above [8]:
  4872.   Cursor tab width for above [8]:
  4873.     Specifies the sixth default file extension for default tabs.  See
  4874.     explanation below.
  4875.  
  4876.     The editor allows you to set default physical and cursor tab widths
  4877.     for up to six different file extensions.  When a file is loaded that
  4878.     matches one of these extensions, the indicated defaults are used.
  4879.     Otherwise, the defaults set in the previous two default tab options
  4880.     are used.
  4881.  
  4882.     For each of the six options, enter the desired file extension and
  4883.     the appropriate physical and cursor tab width values.
  4884.  
  4885. * Default tab type: 0=Fixed, 1=Smart, 2=Variable [0] :
  4886.     Determines the tab type to use each time the editor is executed.
  4887.     Select <0>, <1>, or <2>, for Fixed, Smart, or Variable Tabs,
  4888.     respectively. Refer to the "Modes" section of Chapter 1 for more
  4889.     information on the behavior of each tab type.
  4890.  
  4891. * Default Variable Tab stop columns:
  4892.    [4 8 16 24 40]
  4893.    :
  4894.     Specifies the columns at which Variable Tab stops are to be set.
  4895.     Enter the appropriate column numbers, each separated by a single
  4896.     space.  The last column at which you can set a Tab is column 255.  A
  4897.     maximum string of 255 characters can be specified.
  4898.  
  4899.     If you press <Enter> without entering any tabs stops, you are
  4900.     prompted with:
  4901.  
  4902.   Delete all Variable Tab stops (Y/N)? [N] :
  4903.  
  4904.     Select <Y> to remove all existing Variable Tab stops.  Select <N> to
  4905.     leave the tab stops unchanged.
  4906.  
  4907.  
  4908. CHAPTER 3.  COMMAND REFERENCE
  4909. ══════════════════════════════════════════════════════════════════════
  4910.  
  4911. This chapter contains a description of each of the editor commands.
  4912. Where applicable, the default key assignments are provided.
  4913. Additionally, <Esc> sequences are given for those commands that can be
  4914. accessed through the pull-down menus.
  4915.  
  4916. To assign commands which do not have a default assignment or to change
  4917. existing key assignments, refer to the "Keyboard Configuration" section
  4918. of Chapter 2 for instructions.
  4919.  
  4920.  
  4921. AddLine             <F2> or <Esc><E><A>
  4922. ────────────────────────────────────────────────────────────────────
  4923. Adds a blank line after the cursor line, placing the cursor on the newly
  4924. created line.  The cursor column does not change.
  4925.  
  4926.  
  4927. Align
  4928. ────────────────────────────────────────────────────────────────────
  4929. Aligns the text on the cursor line with the text on the line immediately
  4930. before the cursor line and then positions the cursor on the next line.
  4931. The cursor column does not change.  If the cursor is on line one, or the
  4932. previous line is blank, or the cursor line is blank, this command simply
  4933. moves the cursor to the next line.
  4934.  
  4935. Align searches backward up to 100 lines for a line containing text to
  4936. align with.
  4937.  
  4938. AltWordSet
  4939. ────────────────────────────────────────────────────────────────────
  4940. Instructs the editor to recognize an expanded set of characters as
  4941. "word" characters.
  4942.  
  4943. The default word set contains the following characters: 0 through 9,
  4944. upper and lower case A through Z, and the underline character.  The
  4945. AltWordSet command causes additional characters to be considered "word"
  4946. characters.  These additional characters are: ! # $ % & ` ' ( ) - . / \
  4947. @ { } ~ : ^
  4948.  
  4949. The AltWordSet command affects the operation of these commands:
  4950.  
  4951.     DelLtWord                MarkWord
  4952.     DelRtWord               *RepeatFind
  4953.    *Find                     SwapWords
  4954.    *FindReplace              WordLeft
  4955.     isWord                   WordRight
  4956.  
  4957.    * These commands are affected if the "W" (word) search option is
  4958.      selected.
  4959.  
  4960. The default word set can be re-installed by executing the DefaultWordSet
  4961. command.
  4962.  
  4963.  
  4964. AppendScrBuff       <Ctrl B A>
  4965. ────────────────────────────────────────────────────────────────────
  4966. Appends the currently marked Block to the end of the named Scratch
  4967. Buffer.  The existing contents of the named Scratch Buffer are not lost.
  4968. If the named Scratch Buffer does not exist, a new Scratch Buffer is
  4969. created.
  4970.  
  4971.  
  4972. AsciiChart          <Esc><O><T>
  4973. ────────────────────────────────────────────────────────────────────
  4974. Displays a scrollable ASCII chart on the screen.  Press <Enter> to have
  4975. the selected character inserted into the text at the current cursor
  4976. position.  Press <Esc> to remove the ASCII chart from the screen without
  4977. placing a character into the text.
  4978.  
  4979. When the ASCII chart is initially displayed, the cursor bar is located
  4980. on the entry that corresponds to the character at the cursor position in
  4981. the text; or on the first item in the ASCII chart (the null character),
  4982. if the cursor is positioned beyond the end of the line.
  4983.  
  4984.  
  4985. Backspace           <Backspace>
  4986. ────────────────────────────────────────────────────────────────────
  4987. If Insert mode is ON:
  4988.  Deletes the character to the left of the cursor.  The text to the right
  4989.  of, and including the cursor position, shifts left one position. If the
  4990.  cursor is in column one, the cursor line is appended to the end of the
  4991.  preceding line.
  4992.  
  4993. If Insert mode is OFF:
  4994.  Deletes the character to the left of the cursor.  The text to the right
  4995.  of the cursor does NOT close in or shift.  If the cursor is in column
  4996.  one, the cursor line is still appended to the end of the previous line.
  4997.  
  4998.  
  4999. BegFile             <Ctrl PgUp>
  5000. ────────────────────────────────────────────────────────────────────
  5001. Positions the cursor at column one on the first line of the current
  5002. file.  (If you are in the process of marking a Block using the
  5003. MarkColumn command, the cursor column position does not change when you
  5004. execute BegFile.)
  5005.  
  5006.  
  5007. BegLine             <Home>
  5008. ────────────────────────────────────────────────────────────────────
  5009. Positions the cursor at column one of the current cursor line.
  5010.  
  5011.  
  5012. BegScreen           <Ctrl Home>
  5013. ────────────────────────────────────────────────────────────────────
  5014. Positions the cursor at the top line of the current window.  The cursor
  5015. column does not change.
  5016.  
  5017.  
  5018. CenterLine          <Ctrl O T>
  5019. ────────────────────────────────────────────────────────────────────
  5020. Centers the current cursor line based on column 1 and the right margin.
  5021. Use the SetRmargin <Ctrl O R> command to change the right margin.
  5022.  
  5023. With the cursor inside of a line Block, you can execute this command to
  5024. center several lines at once.  With the cursor inside of a column Block,
  5025. you can center lines based on the left and right Block boundaries.
  5026.  
  5027.  
  5028. ChangeFilename      <Alt O> or <Alt F><C> or <Esc><F><C>
  5029. ────────────────────────────────────────────────────────────────────
  5030. Changes the name of the current file.  The editor prompts for the new
  5031. name.  If the file already exists, you are given the opportunity to
  5032. rename the file.  The current file is marked as being a changed file.
  5033. (An asterisk appears on the StatusLine preceding the filename.)  Note
  5034. that the file is not written (or overwritten) to disk until the renamed
  5035. file is saved.
  5036.  
  5037.  
  5038. CloseWindow         <Ctrl O C> or <Esc><W><C>
  5039. ────────────────────────────────────────────────────────────────────
  5040. Closes the current window, unless it is the only window which is open,
  5041. in which case the command has no effect.
  5042.  
  5043.  
  5044. Copy                <Grey +>
  5045. ────────────────────────────────────────────────────────────────────
  5046. Copies the marked Block into the Scrap Buffer.  The Block is then
  5047. unmarked.  If no Block is marked, the cursor line is copied into the
  5048. Scrap Buffer.  The copying of the cursor line, when a Block is not
  5049. marked, is configurable.  Refer to the "Advanced Options" section of
  5050. Chapter 2 for more information.
  5051.  
  5052.  
  5053. CopyBlock           <Alt C> or <Esc><B><C>
  5054. ────────────────────────────────────────────────────────────────────
  5055. Copies the marked Block to the cursor position.  If the Block is a
  5056. character Block (created using the DropAnchor, MarkCharacter, or
  5057. MarkBlockBegin/End commands) or a column Block (created using the
  5058. MarkColumn command), the Block is inserted into the text beginning at
  5059. the current cursor position. If the Block is a line Block (created using
  5060. the MarkLine command), it is inserted before or after the current cursor
  5061. line, depending on the configuration setting, "Insert line blocks ABOVE
  5062. the cursor line" (refer to the "General Options" section of Chapter 2).
  5063. The Block remains marked.  Blocks may be copied from one file to
  5064. another.
  5065.  
  5066.  
  5067. CopyOverBlock       <Alt Z>
  5068. ────────────────────────────────────────────────────────────────────
  5069. Copies the currently marked column Block to the current cursor position
  5070. by overlaying existing text and without shifting text to the right.
  5071. This command only works with column Blocks.  The Block remains marked.
  5072. Blocks may be "copied over" from one file to another.
  5073.  
  5074.  
  5075. CurrentFilename
  5076. ────────────────────────────────────────────────────────────────────
  5077. Returns the name of the currently edited file, as if it had been typed
  5078. at the keyboard.  This command is useful for manipulation of files from
  5079. within macros.
  5080.  
  5081.  
  5082. CursorDown          <Cursor Down>
  5083. ────────────────────────────────────────────────────────────────────
  5084. Moves the cursor downward in the file to the next line.
  5085.  
  5086.  
  5087. CursorLeft          <Cursor Left>
  5088. ────────────────────────────────────────────────────────────────────
  5089. Moves the cursor one character to the left.  When the cursor reaches the
  5090. left edge of the screen, it stops, unless the text has been scrolled
  5091. left, in which case the text scrolls right one position.
  5092.  
  5093.  
  5094. CursorRight         <Cursor Right>
  5095. ────────────────────────────────────────────────────────────────────
  5096. Moves the cursor one character to the right.  When the cursor reaches
  5097. the right edge of the screen, the text starts scrolling left until the
  5098. cursor reaches the maximum line length.
  5099.  
  5100.  
  5101. CursorUp            <Cursor Up>
  5102. ────────────────────────────────────────────────────────────────────
  5103. Moves the cursor upward in the file to the previous line.
  5104.  
  5105.  
  5106. Cut                 <Grey ->
  5107. ────────────────────────────────────────────────────────────────────
  5108. Copies the marked Block into the Scrap Buffer.  The Block is then
  5109. deleted from the file being edited.  If no Block is marked, the cursor
  5110. line is cut into the Scrap Buffer.  The cutting of the cursor line, when
  5111. a Block is not marked, is configurable.  Refer to the "Advanced Options"
  5112. section of Chapter 2 for more information.
  5113.  
  5114.  
  5115. DefaultWordSet
  5116. ────────────────────────────────────────────────────────────────────
  5117. Re-installs the default word set.  Refer to the AltWordSet command for
  5118. more information about word sets.
  5119.  
  5120.  
  5121. DelCh               <Del>
  5122. ────────────────────────────────────────────────────────────────────
  5123. Deletes the character at the current cursor position.  The text on the
  5124. line to the right of the cursor shifts left one position.  If the cursor
  5125. position is past the last character on the line, the next line is
  5126. appended to the cursor line.  The "joining" of the next line when the
  5127. cursor is past the last character on the line is configurable. Refer to
  5128. the "General Options" section of Chapter 2 for more information.
  5129.  
  5130.  
  5131. DeleteBlock         <Alt G> or <Esc><B><D>
  5132. ────────────────────────────────────────────────────────────────────
  5133. Deletes the currently marked Block.  If there is not a Block marked in
  5134. the current file, this command has no effect.
  5135.  
  5136.  
  5137. DelLine             <Alt D> or <Ctrl Y> or <Esc><E><D>
  5138. ────────────────────────────────────────────────────────────────────
  5139. Deletes the cursor line.  The line following the cursor line becomes the
  5140. new cursor line.
  5141.  
  5142.  
  5143. DelLtWord           <Ctrl Backspace>
  5144. ────────────────────────────────────────────────────────────────────
  5145. Deletes the "word" to the left of the cursor.  If the cursor is in
  5146. column one, the cursor line is appended to the end of the preceding
  5147. line.
  5148.  
  5149.  
  5150. DelRtWord           <Ctrl T>
  5151. ────────────────────────────────────────────────────────────────────
  5152. Deletes the "word" to the right of the cursor.  If the cursor position
  5153. is past the last character on the line, the next line is appended to the
  5154. cursor line.
  5155.  
  5156.  
  5157. DelScrBuff          <Ctrl B D>
  5158. ────────────────────────────────────────────────────────────────────
  5159. Deletes the requested Scratch Buffer. The editor prompts for the name of
  5160. the Scratch Buffer to be deleted.  Press <Enter> on a blank entry to
  5161. bring up a list of all named Scratch Buffers.  The appropriate buffer
  5162. can be selected from this list by moving the cursor to an entry and
  5163. pressing <Enter>.
  5164.  
  5165.  
  5166. DelToEol            <F6> or <Esc><E><E>
  5167. ────────────────────────────────────────────────────────────────────
  5168. Deletes text on the cursor line, from the cursor position to the end of
  5169. line.
  5170.  
  5171.  
  5172. DirTree             <Esc><F><I>
  5173. ────────────────────────────────────────────────────────────────────
  5174. Displays a pick list of all the drives on your system, along with a
  5175. directory tree for the current drive.  The current drive or directory
  5176. can be changed from this pick list.
  5177.  
  5178. To switch to a different directory, move the cursor bar to the desired
  5179. entry, and press <Enter>.   To change to a different drive, move the
  5180. cursor bar to the desired drive, and press <Enter>.  The selected drive
  5181. becomes the current drive, and the directory tree for that drive is
  5182. displayed in the pick list.
  5183.  
  5184. Following is an example of a directory tree pick list:
  5185.  
  5186. ┌──────── Dir Tree ─────────┐
  5187. │   A:                      │
  5188. │   B:                      │
  5189. │   C:                      │
  5190. │   D:                      │
  5191. │   ├───TSEJR               │
  5192. │   │   ├───MAC             │
  5193. │▒▒▒│▒▒▒├───DOC▒▒▒▒▒▒▒▒▒▒▒▒▒│
  5194. │   │   └───SPELL           │
  5195. │   │       ├───TEMP        │
  5196. │   │       └───WORD        │
  5197. │   └───TSEPRO              │
  5198. │       ├───DOC             │
  5199. │       └───MAC             │
  5200. │   E:                      │
  5201. └───────────────────────────┘
  5202.  
  5203.  
  5204. Dos                 <Alt F9>
  5205. ────────────────────────────────────────────────────────────────────
  5206. The editor prompts for a command, which is passed to DOS for execution.
  5207. After the command is executed by DOS, control is returned to the editor.
  5208. If you want to execute a series of commands in DOS, you should use the
  5209. Shell command, described later in this chapter.
  5210.  
  5211.  
  5212. ┌──────────────────────────────────────────────────────────────┐
  5213. │ Tip:                                                         │
  5214. │   You should NOT execute any TSR (terminate and stay         │
  5215. │   resident) programs from the editor's Dos command.  This    │
  5216. │   includes the DOS print and graph commands, and             │
  5217. │   memory-resident programs such as Sidekick and Superkey.    │
  5218. └──────────────────────────────────────────────────────────────┘
  5219.  
  5220.  
  5221. DropAnchor          <Alt A>
  5222. ────────────────────────────────────────────────────────────────────
  5223. This command is used to mark a character Block.  Initially executing
  5224. this command marks one end of a Block at the cursor position.  As the
  5225. cursor is moved, the Block "grows" with it.  Executing this command
  5226. again marks the other end of the Block at the cursor position.  If
  5227. DropAnchor is executed in a file that already contains a character
  5228. Block, the Block is extended to the current cursor position.
  5229.  
  5230.  
  5231. DupLine             <F4>
  5232. ────────────────────────────────────────────────────────────────────
  5233. Makes a copy of the current cursor line and inserts the copy immediately
  5234. following the cursor line.  The cursor is moved to the new line.
  5235.  
  5236.  
  5237. EditFile            <Alt E> or <Alt F><L> or <Esc><F><L>
  5238. ────────────────────────────────────────────────────────────────────
  5239. The editor prompts for the name(s) of the additional file(s) to be
  5240. edited.  Wildcard characters (* or ?) are permissible, as are multiple
  5241. filenames.  The editor does not load multiple copies of the same file.
  5242. If you issue the EditFile command using the name of a file that has
  5243. already been loaded, the editor makes that file the current file.
  5244.  
  5245. The option "Load wildcarded filespecs from inside the editor" has an
  5246. effect on the behavior of this command when wildcard characters are
  5247. included.  (Refer to the "General Options" section of Chapter 2.)
  5248.  
  5249.  
  5250. EndFile             <Ctrl PgDn>
  5251. ────────────────────────────────────────────────────────────────────
  5252. Positions the cursor on the last line of the file immediately following
  5253. the last non-blank character.  If the last line of the file is blank,
  5254. the cursor is positioned in column one.  (If you are in the process of
  5255. marking a Block using the MarkColumn command, the cursor column position
  5256. does not change when you execute EndFile.)
  5257.  
  5258.  
  5259. EndLine             <End>
  5260. ────────────────────────────────────────────────────────────────────
  5261. Positions the cursor immediately following the last non-blank character
  5262. on the cursor line.
  5263.  
  5264.  
  5265. EndPara
  5266. ────────────────────────────────────────────────────────────────────
  5267. Positions the cursor immediately following the last nonblank character
  5268. of the current paragraph.
  5269.  
  5270.  
  5271. EndScreen           <Ctrl End>
  5272. ────────────────────────────────────────────────────────────────────
  5273. The cursor is positioned on the last line of the current window.  The
  5274. cursor column does not change.
  5275.  
  5276.  
  5277. Escape              <Esc>
  5278. ────────────────────────────────────────────────────────────────────
  5279. If executed while editing, the pull-down menus are displayed.
  5280. Otherwise, this command terminates any editor prompt.
  5281.  
  5282.  
  5283. ExecuteScrap        <Ctrl Enter> or <Esc><M><E>
  5284. ────────────────────────────────────────────────────────────────────
  5285. Plays back the latest macro that was created using the MacroRecord
  5286. command.
  5287.  
  5288.  
  5289. Exit                <Ctrl K D>
  5290. ────────────────────────────────────────────────────────────────────
  5291. Conditionally discards the current file.  If the file has not been
  5292. modified, the file is discarded without prompting.  If the file has been
  5293. modified, the editor prompts with:
  5294.  
  5295.     ┌ Save Changes? ─┐
  5296.     │▒Yes▒▒▒▒▒▒▒▒▒▒▒▒│
  5297.     │ No             │
  5298.     │ Cancel         │
  5299.     └────────────────┘
  5300.  
  5301. Press <Y> to save and then discard the file.  Press <N> to discard the
  5302. file without saving any changes.  Press <C> or <Esc> to halt the command
  5303. and return control back to the editor, without saving or quitting the
  5304. file.
  5305.  
  5306. The editor can be configured, when only a single file is being edited
  5307. and the Exit command is issued, to either terminate or prompt for
  5308. another file to edit.  Refer to the "General Options" section of Chapter
  5309. 2 for more information.
  5310.  
  5311.  
  5312. File                <Ctrl K X> or <Alt F><F> or <Esc><F><F>
  5313. ────────────────────────────────────────────────────────────────────
  5314. Saves and then discards the current file.
  5315.  
  5316. The editor can be configured, when only a single file is being edited
  5317. and the File command is issued, to either terminate or prompt for
  5318. another file to edit.  Refer to the "General Options" section of Chapter
  5319. 2 for more information.
  5320.  
  5321.  
  5322. FillBlock           <Ctrl K L> or <Esc><B><F>
  5323. ────────────────────────────────────────────────────────────────────
  5324. Fills an entire marked Block with any ASCII character.  You are prompted
  5325. to enter the desired character.  FillBlock is recommended for use with
  5326. column and word Blocks only.  When used with line or character Blocks,
  5327. the indicated character fills the Block out to the maximum length of the
  5328. line.
  5329.  
  5330.  
  5331. Find                <Ctrl Q F> or <Esc><S><F>
  5332. ────────────────────────────────────────────────────────────────────
  5333. Searches for a specified string of characters within the current file.
  5334. The User is prompted for a search string and search options. Available
  5335. search options are:
  5336.  
  5337.       [B] Search backwards from the current cursor position.
  5338.       [G] Global search.  Begin searching from the beginning of the file
  5339.           (or Block, if the [L] option is also selected).
  5340.       [L] Local search.  Limit the search to the marked Block.
  5341.       [I] Ignore the case of the search string.
  5342.       [W] Search for whole words only.
  5343.       [^] Anchor the search string to the beginning of the line (or
  5344.           Block, if the [L] option is also selected).
  5345.       [$] Anchor the search string to the end of the line (or Block, if
  5346.           the [L] option is also selected).
  5347.  
  5348.  
  5349. FindReplace         <Ctrl Q A> or <Esc><S><R>
  5350. ────────────────────────────────────────────────────────────────────
  5351. Searches and replaces strings within the current file.  The User is
  5352. prompted for a search string, a replace string, and options.  Available
  5353. search options are:
  5354.  
  5355.       [B] Search backwards from the current cursor position.
  5356.       [G] Global search and replace.  Begin searching from the beginning
  5357.           of the file (or Block, if the [L] option is also selected).
  5358.       [L] Local search and replace.  Limit the search to the marked
  5359.           Block.
  5360.       [I] Ignore the case of the search string.
  5361.       [W] Search for whole words only.
  5362.       [^] Anchor the search string to the beginning of the line (or
  5363.           Block, if the [L] option is also selected).
  5364.       [$] Anchor the search string to the end of the line (or Block, if
  5365.           the [L] option is also selected).
  5366.       [N] Find and replace with NO prompting.
  5367.       [#] Replace the indicated number of times (where "#" is an actual
  5368.           number).
  5369.  
  5370. At every occurrence of the search string in the file, the User is given
  5371. the following replace options (unless the [N] or [#] serach option is
  5372. specified):
  5373.  
  5374.       [Y] Replace the search string with the replace string and continue
  5375.           on to the next occurrence of the search string.
  5376.       [N] Do not make any changes but continue on to the next occurrence
  5377.           of the search string.
  5378.       [O] Replace the search string with the replace string and then
  5379.           terminate the FindReplace process.
  5380.       [R] Replace the search string with the replace string for this and
  5381.           the rest of the occurrences throughout the file without any
  5382.           further prompting.
  5383.       [Q] Terminate the FindReplace process.
  5384.  
  5385. You can press <Ctrl Break> to halt a global FindReplace.
  5386.  
  5387.  
  5388. FirstNonWhite
  5389. ────────────────────────────────────────────────────────────────────
  5390. Intended as a replacement and/or supplement to the BegLine command.
  5391. Places the cursor at the first non-white character on the line, or
  5392. column 1 if the line does not have any non-white characters. "White"
  5393. characters are tabs or spaces. A useful macro would be:
  5394.  
  5395.      Home  BegLine  MacroQuitTrue  FirstNonWhite
  5396.  
  5397. (Explanation: If already at the beginning of a line, go to the first
  5398. non-white character on the line; otherwise, go to the beginning of the
  5399. line.)
  5400.  
  5401.  
  5402. Flip                <Alt 3>
  5403. ────────────────────────────────────────────────────────────────────
  5404. Reverses the case (upper to lower and lower to upper) of all characters
  5405. in a marked Block.  The cursor must be within the marked Block.  If the
  5406. cursor is outside of the marked Block or if no Block is marked, the case
  5407. of the character at the current cursor position is reversed.
  5408.  
  5409.  
  5410. GetPrev             <Ctrl - (dash)>
  5411. ────────────────────────────────────────────────────────────────────
  5412. Duplicates the character immediately above the cursor at the cursor
  5413. position.
  5414.  
  5415.  
  5416. GetScrBuff          <Ctrl B L>
  5417. ────────────────────────────────────────────────────────────────────
  5418. Inserts the contents of the named Scratch Buffer at the cursor position.
  5419. Refer to the "Block Commands" section of Chapter 1 for more information.
  5420.  
  5421.  
  5422. GExit               <Alt X> or <Alt Q><X> or <Esc><Q><X>
  5423. ────────────────────────────────────────────────────────────────────
  5424. Issues the Exit command for all files that have been loaded.  If no
  5425. files have been modified, this command immediately terminates the editor
  5426. and returns control to DOS.  If any files have been modified, you are
  5427. prompted with the following menu for each modified file:
  5428.  
  5429.     ┌ Save Changes? ─┐
  5430.     │▒Yes▒▒▒▒▒▒▒▒▒▒▒▒│
  5431.     │ No             │
  5432.     │ Cancel         │
  5433.     └────────────────┘
  5434.  
  5435. Press <Y> to save and then discard the file.  Press <N> to discard the
  5436. file without saving any changes.  Press <C> or <Esc> to halt the command
  5437. and return control back to the editor, without saving or quitting the
  5438. file.
  5439.  
  5440. For example, if you have ten files loaded and two of them have been
  5441. modified, then you are prompted to save changes twice, once for each
  5442. modified file.
  5443.  
  5444.  
  5445. GFile               <Alt F><G> or <Esc><F><G>
  5446. ────────────────────────────────────────────────────────────────────
  5447. Instructs the editor to discard all files that have been loaded.  Any
  5448. files that have been modified are unconditionally saved.
  5449.  
  5450. If no files have been changed, this command immediately terminates the
  5451. editor and returns control to DOS.
  5452.  
  5453.  
  5454. GotoBlockBeg        <Ctrl Q B>
  5455. ────────────────────────────────────────────────────────────────────
  5456. Positions the cursor at the beginning of the currently marked Block. If
  5457. the Block is in a file other than the current file, the file containing
  5458. the Block becomes the new current file.
  5459.  
  5460.  
  5461. GotoBlockEnd        <Ctrl Q K>
  5462. ────────────────────────────────────────────────────────────────────
  5463. Positions the cursor at the end of the currently marked Block. If the
  5464. Block is in a file other than the current file, the file containing the
  5465. Block becomes the new current file.
  5466.  
  5467.  
  5468. GotoColumn          <Esc><S><G>
  5469. ────────────────────────────────────────────────────────────────────
  5470. Positions the cursor at the requested column.  The editor prompts for
  5471. the desired column number.
  5472.  
  5473.  
  5474. GotoFirstLine
  5475. ────────────────────────────────────────────────────────────────────
  5476. Positions the cursor on the beginning line of the current file.  The
  5477. column position is not changed.
  5478.  
  5479.  
  5480. GotoLastLine
  5481. ────────────────────────────────────────────────────────────────────
  5482. Positions the cursor on the last line of the current file.  The column
  5483. position is not changed.
  5484.  
  5485.  
  5486. GotoLine            <Ctrl J>
  5487. ────────────────────────────────────────────────────────────────────
  5488. Positions the cursor at the requested line.  The editor prompts for the
  5489. desired line number.
  5490.  
  5491.  
  5492. GPQuit              <F3> or <Alt Q><Q> or <Esc><Q><Q>
  5493. ────────────────────────────────────────────────────────────────────
  5494. Issues the PQuit command for all files that have been loaded.
  5495.  
  5496.  
  5497. GrowWindow          <Ctrl O G> or <Esc><W><R>
  5498. ────────────────────────────────────────────────────────────────────
  5499. Changes the size of the current window, if there are multiple windows on
  5500. the screen.
  5501.  
  5502.  
  5503. GSave               <Alt Y>
  5504. ────────────────────────────────────────────────────────────────────
  5505. Issues the SaveFile command for all files that have been modified.
  5506.  
  5507.  
  5508. HalfPgDn
  5509. ────────────────────────────────────────────────────────────────────
  5510. Scrolls the text toward the end of the file one-half page.
  5511.  
  5512.  
  5513. HalfPgUp
  5514. ────────────────────────────────────────────────────────────────────
  5515. Scrolls the text toward the beginning of the file one-half page.
  5516.  
  5517.  
  5518. HorizontalWindow    <Ctrl O H> or <Esc><W><S>
  5519. ────────────────────────────────────────────────────────────────────
  5520. Splits the screen or current window horizontally, creating a new window.
  5521.  
  5522.  
  5523. IncrementalSearch   <Ctrl I> or <Esc><S><I>
  5524. ────────────────────────────────────────────────────────────────────
  5525. Searches incrementally for a string.  As you type characters of a search
  5526. string, a case-insensitive, forward search immediately begins, based on
  5527. the characters currently in the search string.
  5528.  
  5529. Within the IncrementalSearch prompt, the following keys are operational:
  5530.  
  5531.   <Enter> or <Esc>   Terminates IncrementalSearch operation.
  5532.  
  5533.   <Backspace>        Removes the last character from the current
  5534.                      IncrementalSearch string.  The editor re-locates
  5535.                      the previous string.
  5536.  
  5537.   <Ctrl N>           Searches forward for the next occurrence of the
  5538.                      current IncrementalSearch string.
  5539.  
  5540.   <Ctrl P>           Searches backward for the previous occurrence of
  5541.                      the current IncrementalSearch string.
  5542.  
  5543.   <Ctrl B>           Searches forward from the beginning of the file for
  5544.                      the first occurrence of the current
  5545.                      IncrementalSearch string.
  5546.  
  5547.  
  5548. InsertDate
  5549. ────────────────────────────────────────────────────────────────────
  5550. Inserts the system date at the current cursor position.
  5551.  
  5552.  
  5553. InsertLine          <Alt F2> or <Esc><E><I>
  5554. ────────────────────────────────────────────────────────────────────
  5555. Inserts a blank line above the cursor line and positions the cursor on
  5556. the newly created line.  The cursor column does not change.
  5557.  
  5558.  
  5559. InsertTime
  5560. ────────────────────────────────────────────────────────────────────
  5561. Inserts the system time at the current cursor position.
  5562.  
  5563.  
  5564. isBegLine
  5565. ────────────────────────────────────────────────────────────────────
  5566. This command is intended for use only within macros.
  5567.  
  5568. Returns TRUE if the cursor is at column 1; otherwise, FALSE is returned.
  5569.  
  5570.  
  5571. isCurrChar
  5572. ────────────────────────────────────────────────────────────────────
  5573. This command is intended for use only within macros.
  5574.  
  5575. Used to set a conditional branch based on the value of the character at
  5576. the cursor position.  The format is:
  5577.  
  5578.     isCurrChar  char
  5579.  
  5580. Where "char" is the character in literal format (surrounded by quotes,
  5581. either single or double) or in ASCII value format, preceded by a pound
  5582. sign (#).
  5583.  
  5584. Examples:
  5585.  
  5586.     isCurrChar  'a'
  5587.     JTrue  found:
  5588.  
  5589.     isCurrChar  #97
  5590.     JTrue  found:
  5591.  
  5592. Both of these examples jump to the label "found" if the current
  5593. character is "a".
  5594.  
  5595.  
  5596. isCursorInBlock
  5597. ────────────────────────────────────────────────────────────────────
  5598. This command is intended for use only within macros.
  5599.  
  5600. Returns TRUE if the cursor is inside a marked Block; otherwise, FALSE is
  5601. returned.
  5602.  
  5603.  
  5604. isEmptyLine
  5605. ────────────────────────────────────────────────────────────────────
  5606. This command is intended for use only within macros.
  5607.  
  5608. Returns TRUE if the current line is empty or contains only white space;
  5609. otherwise, FALSE is returned.
  5610.  
  5611.  
  5612. isEndLine
  5613. ────────────────────────────────────────────────────────────────────
  5614. This command is intended for use only within macros.
  5615.  
  5616. Returns TRUE if the cursor is past the last non-white character on the
  5617. current line; otherwise, FALSE is returned, including the case when the
  5618. cursor is on an empty line.
  5619.  
  5620.  
  5621. isFirstLine
  5622. ────────────────────────────────────────────────────────────────────
  5623. This command is intended for use only within macros.
  5624.  
  5625. Returns TRUE if the cursor is on the first line of the currently edited
  5626. file; otherwise, FALSE is returned.
  5627.  
  5628.  
  5629. isLastLine
  5630. ────────────────────────────────────────────────────────────────────
  5631. This command is intended for use only within macros.
  5632.  
  5633. Returns TRUE if the cursor is on the last line of the currently edited
  5634. file; otherwise, FALSE is returned.
  5635.  
  5636.  
  5637. isWord
  5638. ────────────────────────────────────────────────────────────────────
  5639. This command is intended for use only within macros.
  5640.  
  5641. Returns TRUE if the cursor is on a character included in the current
  5642. word set; otherwise, FALSE is returned.
  5643.  
  5644.  
  5645. JFalse
  5646. ────────────────────────────────────────────────────────────────────
  5647. This command is intended for use only within macros.
  5648.  
  5649. It is used to transfer control to the named label, if the previous
  5650. command returned FALSE.
  5651.  
  5652.  
  5653. JoinLine            <Alt J> or <Esc><E><J>
  5654. ────────────────────────────────────────────────────────────────────
  5655. Joins the line below the cursor line to the end of the cursor line. If
  5656. the cursor is past the end of the line, then the line is joined at the
  5657. cursor position.
  5658.  
  5659.  
  5660. JTrue
  5661. ────────────────────────────────────────────────────────────────────
  5662. This command is intended for use only within macros.
  5663.  
  5664. It is used to transfer control to the named label, if the previous
  5665. command returned TRUE.
  5666.  
  5667.  
  5668. Jump
  5669. ────────────────────────────────────────────────────────────────────
  5670. This command is intended for use only within macros.
  5671.  
  5672. It is used to unconditionally transfer control to the named label.
  5673.  
  5674.  
  5675. KillFile            <Ctrl K Z>
  5676. ────────────────────────────────────────────────────────────────────
  5677. Erases the currently edited file from disk.  The file remains loaded in
  5678. the editor and is marked as being a changed file.  (An asterisk appears
  5679. on the StatusLine preceding the filename.)  This command is very useful
  5680. when available disk space is low.
  5681.  
  5682.  
  5683. LineDown            <Ctrl Cursor Down>
  5684. ────────────────────────────────────────────────────────────────────
  5685. Scrolls the text one line at a time toward the end of the file.  The
  5686. cursor remains stationary on the screen.
  5687.  
  5688.  
  5689. LineUp              <Ctrl Cursor Up>
  5690. ────────────────────────────────────────────────────────────────────
  5691. Scrolls the text one line at a time toward the beginning of the file.
  5692. The cursor remains stationary on the screen.
  5693.  
  5694.  
  5695. ListFiles           <Esc><F><T>
  5696. ────────────────────────────────────────────────────────────────────
  5697. Displays a list of the currently loaded files.  To switch to another
  5698. file, move the cursor to the appropriate file and press <Enter>.  To keep
  5699. editing the current file, press <Esc>.
  5700.  
  5701.  
  5702. Literal             <Ctrl P>
  5703. ────────────────────────────────────────────────────────────────────
  5704. Causes the editor to literally interpret the keystroke that is entered
  5705. immediately following this command.  It is used to insert control
  5706. characters into the currently edited file.  For example, to insert the
  5707. ASCII formfeed character (ASCII 12), you would first press <Ctrl P>
  5708. then <Ctrl L>.  To insert a "null" character into the file, press
  5709. <Ctrl P> and then <Ctrl 2>.  (Note: The "2" must be the "2" key on the
  5710. alphanumeric keyboard, NOT the key on the numeric keypad.)  Refer to the
  5711. "Adding Text" section of Chapter 1 for more information.
  5712.  
  5713.  
  5714. LocateFile          <Esc><F><A>
  5715. ────────────────────────────────────────────────────────────────────
  5716. Searches an entire drive for a specified filename.  A list of all
  5717. matching filenames is displayed, allowing the user to select the
  5718. appropriate file to edit.
  5719.  
  5720. This command prompts for the filename for which to search.  A complete
  5721. name or an ambiguous name (with DOS wildcard characters) can be
  5722. specified.  By default, the current drive is searched.  However, a
  5723. different drive can be searched by prefacing the filename with the drive
  5724. name (such as, d:foo).  The default or specified drive is searched, and
  5725. all matching filenames are displayed in a pick list.  To select the
  5726. desired file to edit, position the cursor bar on that filename in the
  5727. pick list, and press <Enter>.  To remove the pick list, press <Esc>.
  5728.  
  5729. This command is also available in a "File(s) to edit:" prompt.
  5730.  
  5731.  
  5732. Lower               <Alt 2>
  5733. ────────────────────────────────────────────────────────────────────
  5734. Changes all characters in a marked Block to lower case.  The cursor must
  5735. be within the marked Block.  If the cursor is outside of the marked
  5736. Block or if no Block is marked, the character at the current cursor
  5737. position is changed to lower case.
  5738.  
  5739.  
  5740. MacroQuit
  5741. ────────────────────────────────────────────────────────────────────
  5742. This command is intended for use only within macros.
  5743.  
  5744. It is used to immediately terminate a macro, thus saving a "jump past
  5745. the end of the macro".
  5746.  
  5747.  
  5748. MacroQuitFalse
  5749. ────────────────────────────────────────────────────────────────────
  5750. This command is intended for use only within macros.
  5751.  
  5752. It is used to immediately terminate a macro, if the previous command
  5753. returned FALSE, thus saving a "jump past the end of the macro on FALSE".
  5754.  
  5755.  
  5756. MacroQuitTrue
  5757. ────────────────────────────────────────────────────────────────────
  5758. This command is intended for use only within macros.
  5759.  
  5760. It is used to immediately terminate a macro, if the previous command
  5761. returned TRUE, thus saving a "jump past the end of the macro on TRUE".
  5762.  
  5763.  
  5764. MacroRead           <Esc><M><R>
  5765. ────────────────────────────────────────────────────────────────────
  5766. Loads the named macro file, with all macros contained therein, from disk
  5767. into the editor's internal macro buffer.  The macros are assigned to the
  5768. keys exactly as they were originally recorded and saved.  The editor
  5769. prompts the user for the name of the file.
  5770.  
  5771.  
  5772. MacroRecord         <Ctrl M> or <Esc><M><M>
  5773. ────────────────────────────────────────────────────────────────────
  5774. Toggles (ON and OFF) macro recording.  If macro recording is OFF, this
  5775. turns macro recording ON and prompts for a key to which to assign the
  5776. macro.  After pressing the desired key, all following keystrokes are
  5777. recorded until the MacroRecord key is pressed again.  After the macro
  5778. has been recorded, it can be played back by pressing the key to which
  5779. the macro was assigned.
  5780.  
  5781. Instead of assigning a macro to a specific key, it can be assigned to a
  5782. "scrap" or temporary area by simple pressing <Enter> at the prompt.  A
  5783. macro assigned to the scrap area may be played back by entering the
  5784. ExecuteScrap <Ctrl Enter> command.  The scrap area is updated each time
  5785. the MacroRecord command is executed.
  5786.  
  5787.  
  5788. MacroWrite          <Esc><M><W>
  5789. ────────────────────────────────────────────────────────────────────
  5790. Saves all currently defined macros to a binary disk file.  The editor
  5791. prompts for the name of the file.
  5792.  
  5793.  
  5794. MainMenu            <Esc>
  5795. ────────────────────────────────────────────────────────────────────
  5796. Activates the pull-down menu system.  Many of the editor's commands can
  5797. be executed via the menus.
  5798.  
  5799.  
  5800. MakeBotofScreen
  5801. ────────────────────────────────────────────────────────────────────
  5802. Scrolls the text in the window so that the cursor line becomes the
  5803. bottom line of the window.
  5804.  
  5805.  
  5806. MakeCtrofScreen     <Shift F5>
  5807. ────────────────────────────────────────────────────────────────────
  5808. Scrolls the text in the window so that the cursor line becomes the
  5809. center line of the window.
  5810.  
  5811.  
  5812. MakeTopofScreen     <F5>
  5813. ────────────────────────────────────────────────────────────────────
  5814. Scrolls the text in the window so that the cursor line becomes the top
  5815. line of the window.
  5816.  
  5817.  
  5818. MarkBlockBegin      <Ctrl K B> or <Esc><B><B>
  5819. ────────────────────────────────────────────────────────────────────
  5820. Marks the beginning of a character Block.  The Block is not shown until
  5821. the MarkBlockEnd command is executed at some position beyond the
  5822. beginning position of the Block.  For an alternate method of marking
  5823. character Blocks, refer to the DropAnchor and MarkCharacter commands.
  5824.  
  5825.  
  5826. MarkBlockEnd        <Ctrl K K> or <Esc><B><E>
  5827. ────────────────────────────────────────────────────────────────────
  5828. Marks the end of a character Block.  The Block is not shown until the
  5829. MarkBlockBegin command is also executed at some position before the end
  5830. of the Block.  For an alternate method of marking character Blocks,
  5831. refer to the DropAnchor and MarkCharacter commands.
  5832.  
  5833.  
  5834. MarkCharacter
  5835. ────────────────────────────────────────────────────────────────────
  5836. This command is used to mark a character Block.  It is similar to the
  5837. DropAnchor command except the cursor position is NOT included as part of
  5838. the Block.
  5839.  
  5840. This command is provided as a replacement for the DropAnchor command. If
  5841. you want the cursor position included in character Blocks, then continue
  5842. to use DropAnchor; otherwise, replace the DropAnchor command with this
  5843. command.
  5844.  
  5845. Note that the editor uses the MarkCharacter command to provide a set of
  5846. CUA-style Block-marking keys (using the shifted cursor keys).  Refer to
  5847. "CUA-Style Block Marking" in Chapter 1.
  5848.  
  5849.  
  5850. MarkColumn          <Alt K>
  5851. ────────────────────────────────────────────────────────────────────
  5852. This command is used to mark a column Block.  Initially executing this
  5853. command marks the current cursor position.  As the cursor is moved, the
  5854. Block "grows".  Executing this command again marks the other end of the
  5855. Block at the current cursor position.  If MarkColumn is executed in a
  5856. file that already contains a Block, the Block is extended to the current
  5857. cursor position.
  5858.  
  5859.  
  5860. MarkLine            <Alt L> or <Esc><B><L>
  5861. ────────────────────────────────────────────────────────────────────
  5862. This command is used to mark a line Block.  Initially executing this
  5863. command marks the current cursor line.  As the cursor is moved, the
  5864. Block "grows" with it, line by line.  Executing this command again marks
  5865. the other end of the Block at the current cursor line.  If MarkLine is
  5866. executed in a file that already contains a Block, the Block is extended
  5867. to the current cursor line.
  5868.  
  5869.  
  5870. MarkWord            <Ctrl K T>
  5871. ────────────────────────────────────────────────────────────────────
  5872. This command is used to mark a word Block.  Executing this command marks
  5873. the word at the current cursor position.  If there is no word at the
  5874. current cursor position, then no action is taken.
  5875.  
  5876.  
  5877. Match               <Alt F3>
  5878. ────────────────────────────────────────────────────────────────────
  5879. Finds the corresponding "(", ")", "{", "}", "[", "]", "<", ">"
  5880. character.  This command is primarily intended for programming languages
  5881. in which complicated expressions are grouped with one or more of these
  5882. characters.  This command is very useful for finding unmatched
  5883. parentheses.
  5884.  
  5885.  
  5886. MaximizeWindow      <Ctrl O M> or <Esc><W><M>
  5887. ────────────────────────────────────────────────────────────────────
  5888. Makes the current window as large as possible by making all other
  5889. windows as small as possible.
  5890.  
  5891.  
  5892. MouseMenu
  5893. ────────────────────────────────────────────────────────────────────
  5894. Pops up a menu of Block-related commands.  This command provides access
  5895. to a list of Block-related commands for easy selection using a mouse.
  5896. When invoked, a menu similar to the following is displayed:
  5897.  
  5898.     ┌────────  Mouse Menu  ────────┐
  5899.     │▒Cut▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  5900.     │ Copy                         │
  5901.     │ Paste                        │
  5902.     │ Paste Over                   │
  5903.     │ UnMark                       │
  5904.     ├──────────────────────────────┤
  5905.     │ Copy to Windows Clipboard    │
  5906.     │ Paste from Windows Clipboard │
  5907.     ├──────────────────────────────┤
  5908.     │ Copy Block                   │
  5909.     │ Copy Over Block              │
  5910.     │ Move Block                   │
  5911.     │ Delete Block                 │
  5912.     ├──────────────────────────────┤
  5913.     │ Fill Block                   │
  5914.     │ Sort                         │
  5915.     ├──────────────────────────────┤
  5916.     │ Upper                        │
  5917.     │ Lower                        │
  5918.     │ Flip                         │
  5919.     └──────────────────────────────┘
  5920.  
  5921. If the mouse is not used, this menu can still be accessed by assigning
  5922. this command to a key.
  5923.  
  5924.  
  5925. MoveBlock           <Alt M> or <Esc><B><M>
  5926. ────────────────────────────────────────────────────────────────────
  5927. Moves (copies and deletes) the currently marked Block to the cursor
  5928. position.  If the Block is a character Block (created using the
  5929. DropAnchor, MarkCharacter, or MarkBlockBegin/End commands) or a column
  5930. Block (created using the MarkColumn command), the Block is inserted into
  5931. the text beginning at the current cursor position.  If the Block is a
  5932. line Block (created using the MarkLine command), it is inserted before
  5933. or after the current cursor line, depending on the configuration
  5934. setting, "Insert line blocks ABOVE the cursor line" (refer to the
  5935. "General Options" section of Chapter 2).  The Block remains marked.
  5936. Blocks may be moved from one file to another.
  5937.  
  5938.  
  5939. NewFile
  5940. ────────────────────────────────────────────────────────────────────
  5941. Executes the Exit <Ctrl K D> command followed by the EditFile <Alt E>
  5942. command.  Refer to the Exit and EditFile commands in this chapter for
  5943. more information.
  5944.  
  5945.  
  5946. NextEqualIndent
  5947. ────────────────────────────────────────────────────────────────────
  5948. Moves the cursor to the next line whose text starts in the same column
  5949. as the current line.  If the current line is blank, moves to the next
  5950. blank line.
  5951.  
  5952.  
  5953. NextFile            <Alt N> or <Alt F><N> or <Esc><F><N>
  5954. ────────────────────────────────────────────────────────────────────
  5955. Makes the next file in the ring the new current file when multiple files
  5956. are loaded.
  5957.  
  5958.  
  5959. NextPara
  5960. ────────────────────────────────────────────────────────────────────
  5961. Positions the cursor on the first character of the next paragraph.
  5962.  
  5963.  
  5964. NextWindow          <Ctrl O N> or <Esc><W><N>
  5965. ────────────────────────────────────────────────────────────────────
  5966. Makes the window below the current window the new current window.  If
  5967. the current window is at the bottom of the screen, the top window on the
  5968. screen becomes the current window.
  5969.  
  5970.  
  5971. OneWindow           <Ctrl O O> or <Esc><W><O>
  5972. ────────────────────────────────────────────────────────────────────
  5973. Closes all windows except the current window and expands it to occupy
  5974. the entire screen.
  5975.  
  5976.  
  5977. PageDown            <PgDn>
  5978. ────────────────────────────────────────────────────────────────────
  5979. Scrolls the text toward the end of the file, one page-full less one
  5980. line, at a time.
  5981.  
  5982.  
  5983. PageUp              <PgUp>
  5984. ────────────────────────────────────────────────────────────────────
  5985. Scrolls the text toward the top of the file, one page-full less one
  5986. line, at a time.
  5987.  
  5988.  
  5989. Paste               <Grey *>
  5990. ────────────────────────────────────────────────────────────────────
  5991. Inserts the contents of the Scrap Buffer at the cursor position.  The
  5992. Scrap Buffer is loaded using the Cut or Copy commands.  If the Scrap
  5993. Buffer contains a character or column Block, it is inserted at the
  5994. cursor position.  If the Scrap Buffer contains a line Block, it is
  5995. inserted before or after the cursor line depending on the configuration
  5996. setting, "Insert line blocks ABOVE the cursor line".  (Refer to the
  5997. "General Options" section of Chapter 2.)
  5998.  
  5999. Paste is also available within prompt boxes.
  6000.  
  6001.  
  6002. PasteOver           <Ctrl PrtSc>
  6003. ────────────────────────────────────────────────────────────────────
  6004. This is a Paste command for column Blocks.  It takes a column Block
  6005. which has been loaded into the Scrap Buffer using the Cut or Copy
  6006. commands, and places the contents at the current cursor position by
  6007. overlaying existing text, without shifting text to the right.
  6008.  
  6009.  
  6010. Pause
  6011. ────────────────────────────────────────────────────────────────────
  6012. This command is intended for use only within macros.
  6013.  
  6014. Temporarily suspends execution of a macro until either <Enter> or
  6015. <Esc> is pressed.  Refer to "Macro Pause" in the file MACRO.DOC.
  6016.  
  6017.  
  6018. PQuit               <Ctrl K Q> or <Alt F><Q> or <Esc><F><Q>
  6019. ────────────────────────────────────────────────────────────────────
  6020. This command initiates a protected quit.  If the current file has not
  6021. been modified, it is discarded.  If the current file has been modified,
  6022. the following prompt is issued:
  6023.  
  6024.     ┌ Lose Changes? ─┐
  6025.     │▒Yes▒▒▒▒▒▒▒▒▒▒▒▒│
  6026.     │ No             │
  6027.     │ Cancel         │
  6028.     └────────────────┘
  6029.  
  6030. Press <Y> to quit the current file.  Press <N>, <C>, or <Esc> to cancel
  6031. the command, without discarding the current file.
  6032.  
  6033. If multiple files are being edited, this command makes the previous file
  6034. in the ring the new current file.
  6035.  
  6036. The editor can be configured, when only a single file is being edited
  6037. and the PQuit command is issued, to either terminate or prompt for
  6038. another file to edit.  Refer to the "General Options" section of Chapter
  6039. 2 for more information.
  6040.  
  6041.  
  6042. PrevEqualIndent
  6043. ────────────────────────────────────────────────────────────────────
  6044. Moves the cursor to the previous line whose text starts in the same
  6045. column as the current line.  If the current line is blank, moves to the
  6046. previous blank line.
  6047.  
  6048.  
  6049. PrevFile            <Ctrl K P> or <Alt F><P> or <Esc><F><P>
  6050. ────────────────────────────────────────────────────────────────────
  6051. Makes the previous file in the ring the new current file when multiple
  6052. files are loaded.
  6053.  
  6054.  
  6055. PrevPara
  6056. ────────────────────────────────────────────────────────────────────
  6057. Positions the cursor on the first character of the previous paragraph.
  6058.  
  6059.  
  6060. PrevPosition        <Ctrl Q P>
  6061. ────────────────────────────────────────────────────────────────────
  6062. Positions the cursor at the previous cursor position.  Very helpful when
  6063. used with the GotoLine command.  The GotoLine command can be used to go
  6064. directly to a certain line of the file.  The PrevPosition can then be
  6065. used to return you to the previous cursor position.
  6066.  
  6067.  
  6068. PrevWindow          <Ctrl O P> or <Esc><W><P>
  6069. ────────────────────────────────────────────────────────────────────
  6070. Makes the window above the current window the new current window.  If
  6071. the current window is at the top of the screen, the bottom window on the
  6072. screen becomes the current window.
  6073.  
  6074.  
  6075. PrintAll            <Alt P><A> or <Esc><P><A>
  6076. ────────────────────────────────────────────────────────────────────
  6077. Prints the entire contents of the current file.
  6078.  
  6079.  
  6080. PrintBlock          <Alt P><B> or <Esc><P><B>
  6081. ────────────────────────────────────────────────────────────────────
  6082. Prints the entire contents of the marked Block.  The marked Block must
  6083. be in the current file.
  6084.  
  6085.  
  6086. PrintEject          <Alt P><F> or <Esc><P><F>
  6087. ────────────────────────────────────────────────────────────────────
  6088. Sends a formfeed character (ASCII 12) to the printer.
  6089.  
  6090.  
  6091. QuickHelp           <F1> or <Alt H>
  6092. ────────────────────────────────────────────────────────────────────
  6093. Displays the Help Screen.  A default Help Screen is provided with the
  6094. editor; however, you may wish to design your own Help Screen.  For more
  6095. information, refer to "The Help Screen" section of Chapter 2.
  6096.  
  6097.  
  6098. Quit
  6099. ────────────────────────────────────────────────────────────────────
  6100. Unconditional quit.  The current file is discarded regardless of any
  6101. changes made to it.  This command is for those who do not like software
  6102. that "nags" you.  USE WITH CAUTION!
  6103.  
  6104.  
  6105. ReadBlock           <Alt R> or <Alt F><R> or <Esc><F><R>
  6106. ────────────────────────────────────────────────────────────────────
  6107. Inserts the named disk file at the current cursor position.
  6108.  
  6109.  
  6110. RepeatCmd           <Ctrl Q Q>
  6111. ────────────────────────────────────────────────────────────────────
  6112. Repeats the last character, command, or macro entered from the keyboard
  6113. up to 9,999 times.  You are prompted for the number of times to repeat.
  6114.  
  6115. Repeating automatically terminates when any command fails.  For example,
  6116. if you are repeating a search and get a "Not Found", repeating then
  6117. stops.  You can also press <Ctrl Break> at any time from the keyboard to
  6118. cancel repeating.
  6119.  
  6120.  
  6121. RepeatFind          <Ctrl L> or <Esc><S><A>
  6122. ────────────────────────────────────────────────────────────────────
  6123. Repeats the previous search (Find, FindReplace, IncrementalSearch)
  6124. command.
  6125.  
  6126.  
  6127. ResizeWindow        <Ctrl O G> or <Ctrl O S> or <Esc><W><R>
  6128. ────────────────────────────────────────────────────────────────────
  6129. Changes the size of the current window, if there are multiple windows on
  6130. the screen.
  6131.  
  6132.  
  6133. RestoreSettings
  6134. ────────────────────────────────────────────────────────────────────
  6135. This command is intended for use only within macros.
  6136.  
  6137. Restores settings saved by the SaveSettings command.
  6138.  
  6139.  
  6140. Return              <Enter>
  6141. ────────────────────────────────────────────────────────────────────
  6142. The Return command behaves differently depending on Insert mode and
  6143. AutoIndent mode.
  6144.  
  6145. If Insert mode is OFF, the cursor is positioned at the first column of
  6146. the next line.  If Insert mode is ON, the current cursor line is split
  6147. at the cursor position and any text to the right of and including the
  6148. cursor position is placed on a new line following the current line.  If
  6149. the cursor is past the last character on the line, then a blank line is
  6150. added following the current line.  The cursor is then moved to the first
  6151. column of the new line.
  6152.  
  6153. If AutoIndent is ON, spaces are inserted ahead of the cursor position to
  6154. align it with the text on the previous line.
  6155.  
  6156. If AutoIndent is OFF, the text is moved to the beginning of the next
  6157. line.
  6158.  
  6159. The Return command can be configured to split or not split lines when
  6160. Insert mode is ON.  Refer to the "Advanced Options" section of Chapter 2
  6161. for more information.
  6162.  
  6163.  
  6164. SaveFile            <Ctrl K S> or <Alt F><S> or <Esc><F><S>
  6165. ────────────────────────────────────────────────────────────────────
  6166. Saves to disk the file currently being edited.  The file remains loaded,
  6167. ready for further editing.
  6168.  
  6169.  
  6170. SaveSettings
  6171. ────────────────────────────────────────────────────────────────────
  6172. This command is intended for use only within macros.
  6173.  
  6174. Saves the current settings of: Insert, AutoIndent, WordWrap, Sound, and
  6175. Screen Updating. See RestoreSettings.
  6176.  
  6177.  
  6178. ScreenLeft          <Alt F5>
  6179. ────────────────────────────────────────────────────────────────────
  6180. Shifts the screen to the left, the number of columns specified in the
  6181. configuration program.  Refer to the "Colors/Screen Options" section of
  6182. Chapter 2 for more information.
  6183.  
  6184.  
  6185. ScreenRight         <Alt F6>
  6186. ────────────────────────────────────────────────────────────────────
  6187. Shifts the screen to the Right, the number of columns specified in the
  6188. configuration program.  Refer to the "Colors/Screen Options" section of
  6189. Chapter 2 for more information.
  6190.  
  6191.  
  6192. ScrollDown          <Ctrl Z>
  6193. ────────────────────────────────────────────────────────────────────
  6194. Scrolls the text one line at a time toward the end of the file.  The
  6195. cursor remains on the same line of text until it reaches the top of the
  6196. screen.
  6197.  
  6198.  
  6199. ScrollUp            <Ctrl W>
  6200. ────────────────────────────────────────────────────────────────────
  6201. Scrolls the text one line at a time toward the beginning of the file.
  6202. The cursor remains on the same line of text until it reaches the bottom
  6203. of the screen.
  6204.  
  6205.  
  6206. SetAutoIndentMode
  6207. ────────────────────────────────────────────────────────────────────
  6208. This command is intended for use only within macros.
  6209.  
  6210. Sets AutoIndent mode ON.  To set AutoIndent mode OFF, do the following:
  6211.  
  6212.      SetAutoIndentMode ToggleIndent
  6213.  
  6214.  
  6215. SetBakups
  6216. ────────────────────────────────────────────────────────────────────
  6217. This command is intended for use only within macros.
  6218.  
  6219. Enables the automatic creation of file backups, which causes the editor
  6220. to create a backup file using the ".bak" file extension whenever a
  6221. modified file is saved.  (Refer to ToggleBakups for more information.)
  6222.  
  6223.  
  6224. SetBoxDraw
  6225. ────────────────────────────────────────────────────────────────────
  6226. This command is intended for use only within macros.
  6227.  
  6228. Enables Box Drawing mode.  The letter "B" appears on the StatusLine when
  6229. this mode is ON.  (Refer to ToggleBoxDraw for more information.)
  6230.  
  6231.  
  6232. SetCenterFinds
  6233. ────────────────────────────────────────────────────────────────────
  6234. This command is intended for use only within macros.
  6235.  
  6236. Enables Find centering, which causes the Find and FindReplace commands
  6237. to center the found text vertically in the window.  (Refer to
  6238. ToggleCenterFinds for more information.)
  6239.  
  6240.  
  6241. SetCtabwidth        <Esc><O><C>
  6242. ────────────────────────────────────────────────────────────────────
  6243. Sets the cursor tab width.  This is the width that is used when the
  6244. TabRt or TabLt commands are executed and Fixed Tabs mode is in effect.
  6245.  
  6246.  
  6247. SetCUAMarking
  6248. ────────────────────────────────────────────────────────────────────
  6249. This command is intended for use only within macros.
  6250.  
  6251. Enables CUA-Style Block Marking mode, which defines shifted cursor keys
  6252. to be used to mark Blocks.  (Refer to ToggleCUAMarking for more
  6253. information.)
  6254.  
  6255.  
  6256. SetEGA25
  6257. ────────────────────────────────────────────────────────────────────
  6258. Switches a monitor with an EGA or VGA card to 25-line mode.  This
  6259. command has no effect if the video card is not an EGA or VGA type.
  6260.  
  6261.  
  6262. SetEGA43
  6263. ────────────────────────────────────────────────────────────────────
  6264. Switches a monitor with an EGA card to 43-line mode, or a monitor with a
  6265. VGA card to 50-line mode.  This command has no effect if the video card
  6266. is not an EGA or VGA type.
  6267.  
  6268.  
  6269. SetEnterMatching
  6270. ────────────────────────────────────────────────────────────────────
  6271. This command is intended for use only within macros.
  6272.  
  6273. Sets EnterMatching mode ON.  (Refer to ToggleEnterMatching for more
  6274. information.)
  6275.  
  6276.  
  6277. SetInsMode
  6278. ────────────────────────────────────────────────────────────────────
  6279. This command is intended for use only within macros.
  6280.  
  6281. Sets Insert mode ON.  To set Insert mode OFF (that is, set overwrite
  6282. mode ON), do the following:
  6283.  
  6284.      SetInsMode ToggleInsert
  6285.  
  6286.  
  6287. SetPrintAddFF
  6288. ────────────────────────────────────────────────────────────────────
  6289. This command is intended for use only within macros.
  6290.  
  6291. Enables the automatic sending of a formfeed character to the printer
  6292. when each print operation is complete (after the last printed page).
  6293. (Refer to TogglePrintAddFF for more information.)
  6294.  
  6295.  
  6296. SetPrintBotMargin   <Alt P><O> or <Esc><P><O>
  6297. ────────────────────────────────────────────────────────────────────
  6298. Sets the number of lines that are left blank at the bottom of each page
  6299. during printing.
  6300.  
  6301.  
  6302. SetPrintDevice      <Alt P><D> or <Esc><P><D>
  6303. ────────────────────────────────────────────────────────────────────
  6304. Allows the setting of the default print device.  Choices include PRN,
  6305. LPT1 through LPT3, or any valid filename.  When executed, the following
  6306. menu is displayed:
  6307.  
  6308.     ┌ Print Device ─┐
  6309.     │▒PRN▒▒▒▒▒▒▒▒▒▒▒│
  6310.     │ LPT1          │
  6311.     │ LPT2          │
  6312.     │ LPT3          │
  6313.     │ Disk File...  │
  6314.     └───────────────┘
  6315.  
  6316.  
  6317. SetPrintLeftMargin  <Alt P><L> or <Esc><P><L>
  6318. ────────────────────────────────────────────────────────────────────
  6319. Sets the number of spaces that are printed as a left margin at the
  6320. beginning of each line.  The default is zero.
  6321.  
  6322.  
  6323. SetPrintLineSpacing <Alt P><S> or <Esc><P><S>
  6324. ────────────────────────────────────────────────────────────────────
  6325. Allows the setting of the print line spacing, up to a value of 200.
  6326. When executed, the following prompt is displayed:
  6327.  
  6328.     ┌──────────────────────────────────────────────────────────┐
  6329.     │ Printer line spacing [1=single, 2=double, etc.]:         │
  6330.     │                                                          │
  6331.     └──────────────────────────────────────────────────────────┘
  6332.  
  6333.  
  6334. SetPrintPageSize    <Alt P><P> or <Esc><P><P>
  6335. ────────────────────────────────────────────────────────────────────
  6336. Sets the number of lines to be printed per page before sending a
  6337. formfeed.  A value of zero allows continuous printing (no formfeeds
  6338. sent).
  6339.  
  6340.  
  6341. SetPrintTopMargin   <Alt P><T> or <Esc><P><T>
  6342. ────────────────────────────────────────────────────────────────────
  6343. Sets the number of lines that are left blank at the top of each page
  6344. during printing.
  6345.  
  6346.  
  6347. SetPtabwidth        <Esc><O><P>
  6348. ────────────────────────────────────────────────────────────────────
  6349. Sets the Physical Tab Width.  This determines the width to which
  6350. physical tab characters found in files are expanded if Physical Tab
  6351. Expansion is set ON.  It also determines the number of spaces to be used
  6352. for Tabs Out mode.  Refer to the ToggleTabsExpand and ToggleTabsOut
  6353. commands in this chapter for more information.
  6354.  
  6355.  
  6356. SetRmargin          <Ctrl O R> or <Esc><O><R>
  6357. ────────────────────────────────────────────────────────────────────
  6358. Sets the right margin for word-wrap and paragraph reformatting. WordWrap
  6359. mode is automatically switched ON whenever the right margin is set using
  6360. this command.
  6361.  
  6362.  
  6363. SetScreenOff
  6364. ────────────────────────────────────────────────────────────────────
  6365. This command is intended for use only within macros.
  6366.  
  6367. Turns screen updating OFF. You must turn screen updating back ON before
  6368. your macro prompts for input, or if there is some output from the macro
  6369. that you want displayed on the screen.
  6370.  
  6371. Note:  The editor AUTOMATICALLY turns screen updating back ON when the
  6372.        macro is finished executing.  Thus, it is not necessary to issue
  6373.        the SetScreenOn command at the end of the macro.
  6374.  
  6375.  
  6376. SetScreenOn
  6377. ────────────────────────────────────────────────────────────────────
  6378. This command is intended for use only within macros.
  6379.  
  6380. Turns screen updating ON (see SetScreenOff).
  6381.  
  6382.  
  6383. SetSortCaseInsensitive
  6384. ────────────────────────────────────────────────────────────────────
  6385. This command is intended for use only within macros.
  6386.  
  6387. Sets the sorting operation to case-insensitive.  (Refer to
  6388. ToggleSortCaseInsensitive for more information.)
  6389.  
  6390.  
  6391. SetSortDescending
  6392. ────────────────────────────────────────────────────────────────────
  6393. This command is intended for use only within macros.
  6394.  
  6395. Sets the sorting operation to descending order.  (Refer to
  6396. ToggleSortDescending for more information.)
  6397.  
  6398.  
  6399. SetSoundOff
  6400. ────────────────────────────────────────────────────────────────────
  6401. This command is intended for use only within macros.
  6402.  
  6403. Disables the tone sounded by the editor on failed searches.
  6404.  
  6405.  
  6406. SetSoundOn
  6407. ────────────────────────────────────────────────────────────────────
  6408. This command is intended for use only within macros.
  6409.  
  6410. Enables the tone sounded by the editor on failed searches.
  6411.  
  6412.  
  6413. SetSwap
  6414. ────────────────────────────────────────────────────────────────────
  6415. This command is intended for use only within macros.
  6416.  
  6417. Enables swapping to expanded memory or disk when the Shell and Dos
  6418. commands are executed.  (Refer to ToggleSwap for more information.)
  6419.  
  6420.  
  6421. SetSyncScroll
  6422. ────────────────────────────────────────────────────────────────────
  6423. This command is intended for use only within macros.
  6424.  
  6425. Sets Synchronized Scrolling mode ON.  (Refer to ToggleSyncScroll for
  6426. more information.)
  6427.  
  6428.  
  6429. SetTabsExpand
  6430. ────────────────────────────────────────────────────────────────────
  6431. This command is intended for use only within macros.
  6432.  
  6433. Sets Physical Tab Expansion mode ON.  (Refer to ToggleTabsExpand for
  6434. more information.)
  6435.  
  6436.  
  6437. SetTabsOut
  6438. ────────────────────────────────────────────────────────────────────
  6439. This command is intended for use only within macros.
  6440.  
  6441. Sets Tabs Out mode ON.  (Refer to ToggleTabsOut for more information.)
  6442.  
  6443.  
  6444. SetTabType          <Esc><O><Y>
  6445. ────────────────────────────────────────────────────────────────────
  6446. Determines the behavior of the tab key based on the tab type selected.
  6447. Choices are Fixed, Smart, and Variable.  (Refer to the "Modes" section
  6448. of Chapter 1.)  When executed, the following menu is displayed:
  6449.  
  6450.     ┌── Tab Type ───┐
  6451.     │▒Fixed▒▒▒▒▒▒▒▒▒│
  6452.     │ Smart         │
  6453.     │ Variable      │
  6454.     └───────────────┘
  6455.  
  6456.  
  6457. SetVarTabStops      <Esc><O><V>
  6458. ────────────────────────────────────────────────────────────────────
  6459. Allows the setting of the tab stops used when Variable tab type is
  6460. selected.
  6461.  
  6462.  
  6463. SetVGA28
  6464. ────────────────────────────────────────────────────────────────────
  6465. Switches a monitor with a VGA card to 28-line mode.  This command has no
  6466. effect if the video card is not a VGA type.
  6467.  
  6468.  
  6469. SetWordWrapMode
  6470. ────────────────────────────────────────────────────────────────────
  6471. This command is intended for use only within macros.
  6472.  
  6473. Sets WordWrap mode ON. To set WordWrap mode OFF, do the following:
  6474.  
  6475.     SetWordWrapMode ToggleWordWrap
  6476.  
  6477.  
  6478. Shell               <F9> or <Alt F><O> or <Esc><F><O>
  6479. ────────────────────────────────────────────────────────────────────
  6480. Invokes a DOS shell.  While in the shell, you can execute DOS and other
  6481. commands.  When you are ready to leave the shell, type "exit" and press
  6482. <Enter>.  This places you back in the editor, exactly where you left
  6483. off.
  6484.  
  6485.  
  6486. ┌──────────────────────────────────────────────────────────────┐
  6487. │ Tip:                                                         │
  6488. │   You should NOT execute any TSR (terminate and stay         │
  6489. │   resident) programs from the editor's Shell command.  This  │
  6490. │   includes the DOS print and graph commands, and             │
  6491. │   memory-resident programs such as Sidekick and Superkey.    │
  6492. └──────────────────────────────────────────────────────────────┘
  6493.  
  6494.  
  6495. ShiftLeft           <Shift F7>
  6496. ────────────────────────────────────────────────────────────────────
  6497. Shifts the contents of the currently marked Block (or the cursor line,
  6498. if the cursor is not in a marked Block) one position to the left.  If,
  6499. when you issue this command, the leftmost character on a line being
  6500. shifted is in the first column of the Block, that character is deleted
  6501. to allow the remainder of the line to shift left one position.
  6502.  
  6503.  
  6504. ShiftRight          <Shift F8>
  6505. ────────────────────────────────────────────────────────────────────
  6506. Shifts the contents of the currently marked Block (or the cursor line,
  6507. if the cursor does not reside in a marked Block) one position to the
  6508. right.  If, when you issue this command, the rightmost character on a
  6509. line being shifted is in the last column of the Block, that character is
  6510. deleted to allow the remainder of the line to shift right one position.
  6511.  
  6512.  
  6513. ShowEntryScreen     <Alt F10>
  6514. ────────────────────────────────────────────────────────────────────
  6515. Displays the original DOS screen as it appeared upon initial execution
  6516. of the editor.  Press any key to return to the edit screen.
  6517.  
  6518. To use this command, the option "Do you want the original screen
  6519. restored upon termination (Y/N)?" must be set to "Y" (the default
  6520. setting).  This option is set via the QCONFIG program, under
  6521. "Colors/screen."
  6522.  
  6523.  
  6524. ShrinkWindow        <Ctrl O S> or <Esc><W><R>
  6525. ────────────────────────────────────────────────────────────────────
  6526. Changes the size of the current window, if there are multiple windows on
  6527. the screen.
  6528.  
  6529.  
  6530. Sort                <Shift F3>
  6531. ────────────────────────────────────────────────────────────────────
  6532. Sorts a range of lines.  The sort key is determined by a marked column
  6533. Block.  The lines spanned by the column Block determines the range of
  6534. lines to be sorted.  For more information about column Blocks, refer to
  6535. the MarkColumn command in this chapter.
  6536.  
  6537. Whether the lines are sorted in ascending or descending order is
  6538. determined by the ToggleSortDescending command.  Ignoring or respecting
  6539. differences in case is determined by the ToggleSortCaseInSensitive
  6540. command.  (The initial state of both of these toggles can be set via the
  6541. configuration program.  Refer to the "General Options" section of
  6542. Chapter 2.)
  6543.  
  6544. Note:  The Sort command can only be used with a single, nonzoomed window
  6545.        on the screen.
  6546.  
  6547.  
  6548. SpacesToTabs        <Esc><O><M>
  6549. ────────────────────────────────────────────────────────────────────
  6550. Compresses occurrences of multiple spaces to tabs, where appropriate.
  6551. Spaces within quotes (single and double) are not compressed.  If the
  6552. cursor is within a marked Block when this command is executed, only
  6553. spaces within the Block are compressed; otherwise, this common operates
  6554. on the entire file.
  6555.  
  6556.  
  6557. SplitLine           <Alt S> or <Esc><E><S>
  6558. ────────────────────────────────────────────────────────────────────
  6559. Splits the current cursor line at the cursor position.  Any text to the
  6560. right of and including the cursor position is placed on a new line
  6561. following the current line.  If the cursor is past the last character on
  6562. the line, then a blank line is added following the current line. The
  6563. cursor position does not change.
  6564.  
  6565.  
  6566. StoreScrBuff        <Ctrl B S>
  6567. ────────────────────────────────────────────────────────────────────
  6568. Copies the currently marked Block to the named Scratch Buffer.  The
  6569. editor prompts for the name of the Scratch Buffer.  The contents of
  6570. all Scratch Buffers are lost when the editor is terminated.
  6571.  
  6572.  
  6573. SwapChars
  6574. ────────────────────────────────────────────────────────────────────
  6575. Swaps the character at the cursor position with the character preceding
  6576. the cursor.  The cursor column position does not change.  If, when this
  6577. command is executed, the cursor is in column 1, or is positioned beyond
  6578. the last non-blank character of the line, then no action occurs.
  6579.  
  6580.  
  6581. SwapLines           <Ctrl F2> or <Esc><E><P>
  6582. ────────────────────────────────────────────────────────────────────
  6583. Swaps the current line with the line immediately following it.  The
  6584. cursor does not change its position relative to the screen.  If the
  6585. cursor is on the last line of the file when this command is executed,
  6586. then no action occurs.
  6587.  
  6588.  
  6589. SwapWords
  6590. ────────────────────────────────────────────────────────────────────
  6591. Swaps the word in which the cursor is positioned with the previous word
  6592. on the current line.  Any "non-word" characters between the affected
  6593. words are preserved.  If, when this command is executed, the cursor is
  6594. not positioned on a character within a word, or if there is no previous
  6595. word on the current line, then no action occurs.
  6596.  
  6597.  
  6598. TabLt               <Shift Tab>
  6599. ────────────────────────────────────────────────────────────────────
  6600. Positions the cursor at the previous tab position, as defined by the tab
  6601. width.  If Insert mode is ON, the text to the right, including the
  6602. character at the cursor position, shifts left.
  6603.  
  6604. The editor can be configured so that if Insert mode is ON, AND the
  6605. cursor is inside a marked Block, the entire Block shifts left by the
  6606. current cursor tab width.  For more information on this option, refer to
  6607. the "Advanced Options" section of Chapter 2.
  6608.  
  6609. TabRt               <Tab>
  6610. ────────────────────────────────────────────────────────────────────
  6611. Positions the cursor at the next tab position, as defined by the cursor
  6612. tab width.  If Insert mode is ON, the text to the right, including the
  6613. character at the cursor position, shifts right.
  6614.  
  6615. The editor can be configured so that if Insert mode is ON, AND the
  6616. cursor is inside a marked Block, the entire Block shifts right by the
  6617. current cursor tab width.  For more information on this option, refer to
  6618. the "Advanced Options" section of Chapter 2.
  6619.  
  6620.  
  6621. TabsToSpaces        <Esc><O><X>
  6622. ────────────────────────────────────────────────────────────────────
  6623. Expands tab characters to the appropriate number of spaces. Tabs within
  6624. quotes (single and double) are not expanded.  If the cursor is within a
  6625. marked Block when this command is executed, only tabs within the Block
  6626. are expanded; otherwise, this command operates on the entire file.
  6627.  
  6628.  
  6629. ToggleBakups        <Esc><O><B>
  6630. ────────────────────────────────────────────────────────────────────
  6631. Toggles (ON and OFF) file backups.  If ON, the editor creates a backup
  6632. file using the ".bak" file extension whenever a modified file is saved.
  6633.  
  6634.  
  6635. ToggleBoxDraw       <Shift F1>
  6636. ────────────────────────────────────────────────────────────────────
  6637. Toggles (ON and OFF) Box Drawing mode.  If ON, the cursor movement keys
  6638. (up, down, right, left) "draw" lines in the text, both up/down and
  6639. right/left.  Very useful for creating charts and tables.
  6640.  
  6641. The letter "B" appears on the StatusLine when this mode is ON.
  6642.  
  6643.  
  6644. ToggleBoxType       <Alt F1>
  6645. ────────────────────────────────────────────────────────────────────
  6646. This command prompts the User to select from different line drawing
  6647. styles for use with Box Drawing mode.  The options are: Single, Double
  6648. Top, Double Side, Double, and Eraser.  When executed, the following menu
  6649. is displayed:
  6650.  
  6651.     ┌── Box Style ──┐
  6652.     │▒Single▒▒▒▒▒▒▒▒│
  6653.     │ Double Top    │
  6654.     │ Double Side   │
  6655.     │ Double        │
  6656.     │ Eraser        │
  6657.     └───────────────┘
  6658.  
  6659.  
  6660. ToggleCenterFinds   <Esc><S><C>
  6661. ────────────────────────────────────────────────────────────────────
  6662. Toggles (ON and OFF) Find centering.  If ON, this causes the Find,
  6663. FindReplace, and IncrementalSearch commands to center the found text
  6664. vertically on the screen. If OFF, the initial row the cursor was on when
  6665. the command was initiated does not change.
  6666.  
  6667.  
  6668. ToggleCUAMarking
  6669. ────────────────────────────────────────────────────────────────────
  6670. Toggles (ON and OFF) CUA-Style Block Marking mode.  If ON, the shifted
  6671. cursor keys can be used to mark non-inclusive character Blocks.  (Refer
  6672. to "CUA-Style Block Marking" in Chapter 1.)
  6673.  
  6674.  
  6675. ToggleEGA43         <Ctrl F1>
  6676. ────────────────────────────────────────────────────────────────────
  6677. Toggles an EGA monitor between 25-line and 43-line mode or a VGA monitor
  6678. between 25-line and 50-line mode.  This command has no effect if the
  6679. video card is not an EGA or VGA type.
  6680.  
  6681.  
  6682. ToggleEnterMatching <Esc><O><E>
  6683. ────────────────────────────────────────────────────────────────────
  6684. Toggles (ON and OFF) EnterMatching mode.  If ON, the double quote,
  6685. parenthesis, square bracket, and curly brace keys all automatically
  6686. enter the matching right-hand character when the left-hand character is
  6687. entered. For example, typing the "[" key automatically enters a "]"
  6688. immediately following.
  6689.  
  6690.  
  6691. ToggleIndent        <Ctrl Q I> or <Esc><O><A>
  6692. ────────────────────────────────────────────────────────────────────
  6693. Toggles (ON and OFF) AutoIndent mode.  If ON, the cursor is positioned
  6694. at the current left margin whenever the <Enter> key is pressed. The
  6695. current left margin is determined by the first non-blank character on
  6696. the immediately preceding line.
  6697.  
  6698. Paragraph reformatting and word-wrapping also use the current left
  6699. margin when AutoIndent mode is ON.
  6700.  
  6701. The letter "A" appears on the StatusLine when this mode is ON.
  6702.  
  6703.  
  6704. ToggleInsert        <Ins> or <Esc><O><I>
  6705. ────────────────────────────────────────────────────────────────────
  6706. Toggles (ON and OFF) Insert mode.  If ON, text to the right of the
  6707. cursor on the cursor line is shifted whenever characters, spaces, the
  6708. Backspace command, the TabLt command, or the TabRt command is entered.
  6709. Also, executing the Return command causes the current line to split at
  6710. the cursor position.
  6711.  
  6712. The letter "I" appears on the StatusLine when this mode is ON.
  6713.  
  6714.  
  6715. TogglePrintAddFF        <Esc><P><R>
  6716. ────────────────────────────────────────────────────────────────────
  6717. Toggles (ON and OFF) the automatic sending of a formfeed character to
  6718. the printer when printing is complete.  If ON, the editor automatically
  6719. sends a final formfeed character when printing is complete (after the
  6720. last printed page).
  6721.  
  6722.  
  6723. TogglePrintLineNumbers   <Alt P><N> or <Esc><P><N>
  6724. ────────────────────────────────────────────────────────────────────
  6725. Toggles (ON and OFF) the printing of line numbers.
  6726.  
  6727.  
  6728. TogglePrintPause    <Alt P><U> or <Esc><P><U>
  6729. ────────────────────────────────────────────────────────────────────
  6730. Toggles (ON and OFF) pausing between pages while printing.  If ON, the
  6731. editor pauses and requires a key press to continue after every page is
  6732. printed.  This is useful with single sheet printers.  When OFF, the
  6733. editor prints continuously without pausing.
  6734.  
  6735.  
  6736. ToggleShowCurrChar  <Esc><O><H>
  6737. ────────────────────────────────────────────────────────────────────
  6738. Toggles (ON and OFF) the display of the ASCII and Hexadecimal values of
  6739. the current character on the StatusLine.  When ON, the ASCII and Hex
  6740. values of the current character are displayed in the far right portion
  6741. of the StatusLine.  If the cursor is past the end of the text on the
  6742. line, <EOL> is displayed.
  6743.  
  6744.  
  6745. ToggleSmartTabs     <Ctrl Q T>
  6746. ────────────────────────────────────────────────────────────────────
  6747. Toggles (ON and OFF) Smart Tabs mode.  If ON, the TabRt and TabLt
  6748. commands place the cursor beneath the beginning of the next (or
  6749. previous) word on the first nonblank line preceding the current cursor
  6750. line.
  6751.  
  6752.  
  6753. ToggleSortCaseInsensitive   <Esc><B><I>
  6754. ────────────────────────────────────────────────────────────────────
  6755. Toggles (ON and OFF) case-insensitive sorting.  When ON, upper and lower
  6756. case letters are sorted as if they are of the same case.  When OFF,
  6757. upper and lower case letters are sorted strictly by their ASCII value,
  6758. which places all upper case letters before the lower case letters.
  6759.  
  6760.  
  6761. ToggleSortDescending        <Esc><B><N>
  6762. ────────────────────────────────────────────────────────────────────
  6763. Toggles (ON and OFF) descending sorting.  When ON, sorting is performed
  6764. from highest value to lowest value (descending).  When OFF, sorting is
  6765. performed from lowest value to highest value (ascending).
  6766.  
  6767.  
  6768. ToggleSwap          <Esc><O><S>
  6769. ────────────────────────────────────────────────────────────────────
  6770. Toggles (ON and OFF) swapping to expanded memory or disk when the Shell
  6771. <F9> and Dos <Alt F9> commands are executed.  (You can specify a default
  6772. for swapping, using the configuration program.  Refer to the "Advanced
  6773. Options" section of Chapter 2 for more information.)
  6774.  
  6775. If ON, the editor swaps itself out of DOS memory and to expanded memory
  6776. or disk when a shell command is executed.  This leaves a small 2K editor
  6777. kernel in DOS memory, freeing up the rest of DOS memory for running
  6778. other applications out of the shell such as compilers or spreadsheets.
  6779.  
  6780. While you are in a shell, the editor maintains a file with a ".SWP" file
  6781. extension in your root directory.  It is very important that you do not
  6782. delete this file while in the shell.
  6783.  
  6784.  
  6785. ToggleSyncScroll    <Ctrl O Y> or <Esc><W><Y>
  6786. ────────────────────────────────────────────────────────────────────
  6787. Toggles (ON and OFF) Synchronized Scrolling mode in each window on the
  6788. screen (when multiple windows are open).  When this mode is ON, the
  6789. editor attempts to synchronize logical cursor movement and scrolling in
  6790. all windows, based on cursor movement and scrolling activity in the
  6791. current window.
  6792.  
  6793. The letter "S" appears on the StatusLine when this mode is ON.
  6794.  
  6795.  
  6796. ToggleTabsExpand    <Alt V>
  6797. ────────────────────────────────────────────────────────────────────
  6798. Toggles (ON and OFF) Physical Tab Expansion mode.  If ON, physical tab
  6799. characters (ASCII 9) found in a file are expanded into spaces according
  6800. to the Physical Tab Width set in the configuration program.  If OFF,
  6801. physical tabs are displayed on the screen and a physical tab character
  6802. is placed in the text each time the TabRt command is entered.
  6803.  
  6804.  
  6805. ToggleTabsOut       <Alt I>
  6806. ────────────────────────────────────────────────────────────────────
  6807. Toggles (ON and OFF) Tabs Out mode.  If ON, continuous spaces in a line
  6808. of text are replaced with physical tabs (ASCII 9) according to the
  6809. Physical Tab Width set in the configuration program.  Only spaces in
  6810. edited lines are replaced with physical tabs.  Spaces falling between
  6811. single or double quotes are not replaced.
  6812.  
  6813.  
  6814. ToggleVarTabs
  6815. ────────────────────────────────────────────────────────────────────
  6816. Toggles (ON and OFF) Variable Tabs mode.  When ON, tab stops are set to
  6817. those specified by the SetVarTabStop command, or by the default set by
  6818. the configuration program.  When OFF, tab stops are set to a fixed tab
  6819. width, as specified by the SetCTabWidth command.
  6820.  
  6821.  
  6822. ToggleVGA28
  6823. ────────────────────────────────────────────────────────────────────
  6824. Toggles a VGA monitor between 25-line and 28-line mode.  This command
  6825. has no effect if the video card is not a VGA type.
  6826.  
  6827.  
  6828. ToggleWordwrap      <Ctrl O W> or <Esc><O><W>
  6829. ────────────────────────────────────────────────────────────────────
  6830. Toggles (ON and OFF) WordWrap mode.  If ON, the cursor, along with the
  6831. word currently being typed, automatically advances to the next line
  6832. whenever a character is typed beyond the right margin.  The right margin
  6833. can be permanently set using the configuration program (refer to the
  6834. "General Options" section of Chapter 2) or temporarily changed using the
  6835. SetRmargin command.
  6836.  
  6837. The letter "W" appears on the StatusLine when this mode is ON.
  6838.  
  6839.  
  6840. UndoCursorline      <Ctrl Q L>
  6841. ────────────────────────────────────────────────────────────────────
  6842. Reverses any changes made to the current cursor line (except changes
  6843. made with the FindReplace command).  If the cursor has been moved from
  6844. the changed line or a file or window command is executed, the changes
  6845. cannot be undone.
  6846.  
  6847.  
  6848. UnKill              <Ctrl U> or <Esc><E><U>
  6849. ────────────────────────────────────────────────────────────────────
  6850. Recovers the last deleted entry from the current file's Kill Buffer.
  6851. Deleted Blocks and lines are inserted immediately before the current
  6852. cursor line, and deleted words are inserted immediately before the
  6853. current cursor position.
  6854.  
  6855. The number of lines saved in the Kill Buffer may be set with the
  6856. configuration program.  Refer to the "General Options" section of
  6857. Chapter 2 for more information.
  6858.  
  6859.  
  6860. UnmarkBlock         <Alt U> or <Esc><B><U>
  6861. ────────────────────────────────────────────────────────────────────
  6862. Unmarks the currently marked Block.
  6863.  
  6864.  
  6865. Upper               <Alt 1>
  6866. ────────────────────────────────────────────────────────────────────
  6867. Changes all characters in a marked Block to upper case.  The cursor must
  6868. be within the marked Block.  If the cursor is outside of the marked
  6869. Block or if no Block is marked, the character at the current cursor
  6870. position is changed to upper case.
  6871.  
  6872.  
  6873. WinClipCopy
  6874. ────────────────────────────────────────────────────────────────────
  6875. Copies the marked Block into the Microsoft Windows Clipboard.  The Block
  6876. is then unmarked.
  6877.  
  6878. This command is similar to the Copy command.
  6879.  
  6880.  
  6881. WinClipPaste
  6882. ────────────────────────────────────────────────────────────────────
  6883. Inserts the contents of the Microsoft Windows Clipboard into the current
  6884. file at the cursor position.
  6885.  
  6886. This command is similar to the Paste command.
  6887.  
  6888.  
  6889. WordLeft            <Ctrl Cursor Left>
  6890. ────────────────────────────────────────────────────────────────────
  6891. Positions the cursor at the first character of the previous word.
  6892.  
  6893.  
  6894. WordRight           <Ctrl Cursor Right>
  6895. ────────────────────────────────────────────────────────────────────
  6896. Positions the cursor at the first character of the following word.
  6897.  
  6898.  
  6899. WrapPara            <Alt B>
  6900. ────────────────────────────────────────────────────────────────────
  6901. Reformats text from the current cursor position until a blank line or
  6902. end of file is encountered.  If AutoIndent is ON, the line below the
  6903. cursor line is used for the left margin.  Otherwise, a left margin of
  6904. zero is used.  The right margin is determined by the configuration
  6905. program (refer to the "General Options" section of Chapter 2), or
  6906. interactively set by the SetRmargin command.
  6907.  
  6908.  
  6909. WriteBlock          <Alt W> or <Alt F><W> or <Esc><F><W>
  6910. ────────────────────────────────────────────────────────────────────
  6911. Writes the currently marked Block to the named file.  The editor prompts
  6912. for the name of the file.
  6913.  
  6914. A Save-As-Filename feature is possible with the WriteBlock command,
  6915. allowing you to save your current file under a different name.  To use
  6916. this feature, execute the WriteBlock <Alt W> command with no marked
  6917. Blocks in the file.  the editor prompts with:
  6918.  
  6919. ┌──────────────────────────────────────────────────────────────┐
  6920. │File to write:                                                │
  6921. │                                                              │
  6922. └──────────────────────────────────────────────────────────────┘
  6923.  
  6924. Enter the new filename.  If the filename you specify already exists,
  6925. the editor prompts with:
  6926.  
  6927.     ┌─────── Choose ────────┐
  6928.     │ Overlay Existing File │
  6929.     │ Append to File        │
  6930.     └───────────────────────┘
  6931.  
  6932. Select the desired option, or press <Esc> to cancel.
  6933.  
  6934. If there is a marked Block in the file, the WriteBlock command operates
  6935. as usual, and writes the currently marked Block to the named file.
  6936.  
  6937.  
  6938. ZoomWindow          <Ctrl O Z> or <Esc><W><Z>
  6939. ────────────────────────────────────────────────────────────────────
  6940. Toggles Zoom mode ON and OFF.  If there are multiple windows on the
  6941. screen, entering the ZoomWindow command causes the current window to
  6942. fill the entire screen.  Press ZoomWindow again to restore the other
  6943. windows to the screen.
  6944.