home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / news / 2293 / qedit.doc < prev    next >
Text File  |  1994-02-01  |  287KB  |  6,637 lines

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