home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 12
/
CD_ASCQ_12_0294.iso
/
news
/
2293
/
qedit.doc
< prev
next >
Wrap
Text File
|
1994-02-01
|
287KB
|
6,637 lines
Welcome to
QEdit(R) Advanced
the "quick editor"
Version 3
R E F E R E N C E M A N U A L
Please note that this is the shareware version of the documentation.
The licensed commercial version includes an indexed, bound manual.
Copyright 1985-1994 SemWare Corporation.
All rights reserved worldwide.
This software embodies valuable trade secrets proprietary to SemWare
Corporation.
SemWare is a registered trademark of SemWare Corporation. All other
trademarks and registered trademarks referenced in this document are the
property of their respective owners. The QEdit registered trademark is
used under license from Robelle Consulting Ltd.
Specifications subject to change without notice.
The READ.ME file contains information which supplements this
documentation.
+-------------------------------------------------------+
| |
| SALES AND SUPPORT |
| |
| |
| SemWare Corporation |
| Suite C3A |
| 4343 Shallowford Road |
| Marietta, GA 30062-5022 |
| U.S.A. |
| |
| |
| Orders ONLY: (800) 467-3692 Inside USA, 9am-5pm ET |
| |
| Other Voice Calls: (404) 641-9002 9am - 5pm ET |
| |
| FAX: (404) 640-6213 24 hours |
| BBS: (404) 641-8968 24 hours |
| |
| CompuServe: GO SEMWARE (select Section 6) |
| or 75300,2710 |
| InterNet: sales@semware.atl.ga.us |
| or tech.support@semware.atl.ga.us |
| |
+-------------------------------------------------------+
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
This program is produced by a member of the Association of Shareware
Professionals (ASP). ASP wants to make sure that the shareware
principle works for you. If you are unable to resolve a
shareware-related problem with an ASP member by contacting the
member directly, ASP may be able to help. The ASP Ombudsman can help
you resolve a dispute or problem with an ASP member, but does not
provide technical support for members' products. Please write to the
ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427, or send a
CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536.
QEDIT ADVANCED SHAREWARE SOFTWARE LICENSE
=========================================
This version of QEdit (the "Software") is NOT public domain or free
software, but is being distributed as "shareware" for EVALUATION
PURPOSES ONLY. Your use of this Software indicates your agreement to
the terms and conditions of this License.
COPYRIGHT, PROPRIETARY RIGHTS
-----------------------------
The QEdit Advanced Software is owned by SemWare Corporation or its
suppliers and is protected by United States copyright laws and
international treaty provisions. You may not reverse engineer,
decompile, disassemble, or create derivative works based on the Software
for any purpose other than creating an adaptation to the Software as an
essential step in its utilization for your own use. This Software
embodies valuable trade secrets proprietary to SemWare; you may not
disclose any information regarding the internal operations of this
Software to others.
USAGE RESTRICTIONS
------------------
SemWare grants a limited license to individuals to use this shareware
Software for a 30-day evaluation period on a private, non-commercial
basis, for the express purpose of determining whether QEdit is suitable
for their needs. At the end of this 30-day evaluation period, the
individual must either purchase a license from SemWare for continued use
of the Software, or discontinue using QEdit.
What does this mean? If you use this Software on a continued basis, you
must purchase a license for its use. QEdit is NOT free, and we are not
giving away free copies. We are giving you the opportunity to try it
before paying for a license for continued use. It is that simple. Try it
for 30 days. Then either pay for it, or quit using it.
Paying for a license to continue using the Software product is not only
required, but also allows SemWare to provide support and updates, and
stay in business. Licensed users receive printed documentation; a
built-in spelling checker; additional utilities and configuration files;
and a version of the program that does NOT show the opening and closing
shareware reminder screens. Registration of the licensed copy entitles
the registered user to receive technical support (by phone, fax, our own
support BBS, mail, or various electronic services such as CompuServe),
and makes them eligible for discounts on future versions.
Purchasing a license for QEdit Advanced entitles you to use the Software
on any and all computers available to you, provided you do not operate
QEdit on more than one computer or terminal at a time and you do not
operate QEdit on a network or a multi-user system. If you would like a
network or multi-user license, please contact SemWare for details.
DISTRIBUTION, COPYING RESTRICTIONS
----------------------------------
Individuals are granted a limited license to copy the SHAREWARE version
of QEdit Advanced only for the trial use of other individuals in
accordance with the limitations identified in this License, and subject
to the following restrictions:
1. You MAY NOT distribute the Software in connection with any other
product or service.
2. You MAY NOT make general use of the Software within a company,
institution, or agency.
3. You MAY NOT copy or distribute the Software for any consideration or
"disk fee".
4. You MAY NOT copy or distribute the Software in modified form. (Any
distribution must include ALL FILES supplied by SemWare with the
shareware version of QEdit Advanced, WITHOUT ALTERATION.)
5. You MAY NOT distribute the Software documentation, in whole or in
part, in printed form.
Operators of electronic bulletin board systems (Sysops) are permitted
and encouraged to post the shareware version of QEdit Advanced for
downloading by their users, as long as the above conditions are met.
Though a fee may be charged for BBS access, NO FEE may be charged to
specifically access or download the QEdit Advanced shareware files.
Non-profit computer-related User Groups may distribute the shareware
version of QEdit Advanced provided the above conditions are met.
However, such User Groups MAY charge a NOMINAL fee to cover the cost of
the disk and copying of the Software.
Disk vendors MUST obtain written permission from SemWare before
distributing the shareware version of QEdit Advanced. Certain
restrictions apply. Generally, ASP approved vendors are granted
permission. For further details, see VENDOR.DOC.
WARRANTY DISCLAIMER
-------------------
SEMWARE PROVIDES THE SHAREWARE VERSION OF QEDIT ADVANCED "AS IS" AND
WITHOUT ANY WARRANTY. TO THE EXTENT PERMITTED UNDER APPLICABLE LAW,
SEMWARE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO, ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. SPECIFICALLY, SEMWARE MAKES NO REPRESENTATION OR
WARRANTY THAT THE SOFTWARE IS FIT FOR ANY PARTICULAR PURPOSE.
SEMWARE SHALL NOT BE LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF
THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO, LOSS OF PROFIT, DATA OR USE
OF THE SOFTWARE, OR INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES OR OTHER SIMILAR CLAIMS, EVEN IF SEMWARE HAS BEEN SPECIFICALLY
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE
EXCLUSION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE FOREGOING
LIMITATION MAY NOT APPLY TO YOU.
U. S. GOVERNMENT LICENSEES
--------------------------
If you are acquiring the Software on behalf of any unit or agency of the
United States Government, the following provisions apply:
The Government acknowledges SemWare's representation that the Software
and its documentation were developed at private expense and no part of
same is in the public domain.
The Government acknowledges SemWare's representation that the Software
is "Restricted Computer Software" as that term is defined in Clause
52.227-19 of the Federal Acquisition Regulations (FARs) and is
"Commercial Computer Software" as that term is defined in Subpart 27.401
of the Department of Defense Federal Acquisition Regulation Supplement
(DFARS).
The Government agrees that:
(i) if the Software is supplied to the Department of Defense (DoD),
the Software is classified as "Commercial Computer Software" and the
Government is acquiring only "restricted rights" in the Software and
its documentation as that term is defined in Clause
252.227-7013(c)(1)(ii) of the DFARS, and
(ii) if the Software is supplied to any unit or agency of the United
States Government other than the DoD, the Government's rights in the
Software and its documentation will be as defined in Clause
52.227-19(c)(2) of the FARs.
RESTRICTED RIGHTS LEGEND. Use, duplication or disclosure by the U.S.
Government is subject to restrictions as set forth in subparagraph
(c)(1)(ii) of the Rights In Technical Data and Computer Software clause
at DFARS 252.227-7013. SemWare Corporation, 4343 Shallowford Road,
Suite C3A, Marietta, Georgia 30062-5022, U.S.A.
EXPORT LAW ASSURANCES
---------------------
You acknowledge and agree that the Software is subject to restrictions
and controls imposed by the United States Export Administration Act (the
"Act") and the regulations thereunder. You agree and certify that
neither the Software nor any adaptation thereof is being or will be
acquired, shipped, transferred or reexported, directly or indirectly,
into any country prohibited by the Act and the regulations thereunder,
nor will it be used for any purpose prohibited by the same.
GOVERNING LAW AND GENERAL PROVISIONS
------------------------------------
This License and Warranty Disclaimer shall be construed, interpreted and
governed by the laws of the State of Georgia, U.S.A. If any provision is
found void, invalid or unenforceable, it will not affect the validity of
the balance of this License and Warranty Disclaimer which shall remain
valid and enforceable according to its terms. This License and Warranty
Disclaimer may only be modified in writing signed by you and a
specifically authorized representative of SemWare. All rights not
specifically granted in this License are reserved by SemWare.
ORDERING INFORMATION
====================
Purchasing a license for QEdit Advanced allows you to use the product on
a regular and/or continuing basis. Registration of your licensed copy of
QEdit Advanced entitles you to technical support from SemWare, discounts
on updates, and access to the Registered User area of our support BBS
(404/641-8968, <N81>, 1200/2400/9600 baud, 24 hours a day).
With your purchase, you will receive: a licensed copy of QEdit Advanced
V3.0 with a 90-day limited warranty; a bound, indexed manual; a built-in
spelling checker; and additional utilities for use with QEdit.
We offer discounts to educational institutions, full-time students, BBS
sysops, US and Georgia government agencies, and various approved
Computer-related User Groups. Students must include proof of full-time
student status (photocopy of current registration slip or student ID
card). BBS sysops must supply the name and number of their BBS, along
with any other relevant information. User Groups must be members of our
SemWare Supporter program. Call for details.
All prices and discounts are subject to change without notice.
MULTI-USER LICENSES AND QUANTITY PURCHASES
------------------------------------------
All corporate, business, government, or other commercial, public, or
private users of QEdit must be licensed. We offer quantity discounts as
well as multi-user licensing. Please call or write for more information.
ORDERS OUTSIDE THE U.S.A
------------------------
Please use your MasterCard, VISA, American Express, or Discover card
when ordering, or send a check drawn on a US bank payable in US dollars.
*** QEdit Advanced version 3.00, January 1994 ***
* SINGLE-USER LICENSE ORDER FORM *
MAIL: SemWare Corporation FAX: (404) 640-6213 24 hours
4343 Shallowford Rd, Suite C3A BBS: (404) 641-8968 24 hours
Marietta, GA 30062-5022 USA CIS: 75300,2710
InterNet: sales@semware.atl.ga.us
PHONE (Orders ONLY): (800) 467-3692 OTHER VOICE CALLS: (404) 641-9002
Inside USA, 9am-5pm ET 9am-5pm ET
==========================================================================
____ QEdit Advanced V3.00 with printed manual ... @ $59.00 ea $ ______
SHIPPING (each copy) .... US/Canada/Mexico: $5; Overseas: $12 $ ______
PURCHASE ORDERS under $100.00, add $6 Billing Fee ........... $ ______
(Does NOT apply to PREPAID Check or Charge Card orders)
SUBTOTAL $ ______
GEORGIA RESIDENTS please add Sales Tax ................ @ 5% $ ______
TOTAL (U.S. Dollars drawn on U.S. Bank, payable to SemWare) $ ______
Diskette Size: ( )3-1/2" or ( )5-1/4"
--------------------------------------------------------------------------
Payment by: ( )CHECK ( )VISA ( )MC ( )AMEX ( )DISCOVER
( )PO#_____________ (copy attached)
Name: _____________________________________________________________
Company (ONLY if company address):_________________________________
Address: __________________________________________________________
: __________________________________________________________
: __________________________________________________________
Voice Phone: _______________________ FAX: ______________________
Card #: _________________________________ Exp. Date: ______________
Signature of cardholder: __________________________________________
THE QEDIT SOFTWARE IS LICENSED ONLY IN ACCORDANCE WITH THE SEMWARE
LICENSE AGREEMENT THAT ACCOMPANIES THE QEDIT SOFTWARE.
Prices subject to change without notice. Call to confirm current prices.
Contact us about quantity discounts and multi-user licenses, as well as
discounts for full-time students, BBS sysops, and approved User Groups.
TABLE OF CONTENTS
=======================================================================
Acknowledgements . . . . . . . . . . . . . . . . . . . . 1
Introduction . . . . . . . . . . . . . . . . . . . . . . 2
Features . . . . . . . . . . . . . . . . . . . . . . . . 3
System Requirements. . . . . . . . . . . . . . . . . . . 6
Installation . . . . . . . . . . . . . . . . . . . . . . 7
Tasks to Perform Following Installation. . . . . . . 7
Setting Up QEdit on a Laptop System. . . . . . . . . 8
1. User's Guide for QEdit. . . . . . . . . . . . . . . . 9
Quick Start. . . . . . . . . . . . . . . . . . . . . 9
Getting Started. . . . . . . . . . . . . . . . . 9
In the Editor. . . . . . . . . . . . . . . . . . 9
Getting Out. . . . . . . . . . . . . . . . . . . 10
Menus. . . . . . . . . . . . . . . . . . . . . . . . 11
The StatusLine . . . . . . . . . . . . . . . . . . . 12
Prompts. . . . . . . . . . . . . . . . . . . . . . . 13
Files. . . . . . . . . . . . . . . . . . . . . . . . 14
Creating New Files . . . . . . . . . . . . . . . 14
Loading Existing Files . . . . . . . . . . . . . 14
Invoking QEdit at a Specific Line Number . . . . 15
Multiple Files: The Ring . . . . . . . . . . . . 15
Saving Files and Exiting . . . . . . . . . . . . 17
Read-Only Files. . . . . . . . . . . . . . . . . 18
Viewing and Getting Around in the Text . . . . . . . 19
Cursor Movement. . . . . . . . . . . . . . . . . 19
Moving Through a File. . . . . . . . . . . . 19
Moving Around on the Screen. . . . . . . . . 21
Moving By Lines and Characters . . . . . . . 22
Using Windows. . . . . . . . . . . . . . . . . . 23
Creating Windows . . . . . . . . . . . . . . 23
Switching Windows. . . . . . . . . . . . . . 24
Changing Window Size . . . . . . . . . . . . 24
Closing Windows. . . . . . . . . . . . . . . 24
Finding and Replacing Text . . . . . . . . . . . . . 25
Finding Text . . . . . . . . . . . . . . . . . . 25
Replacing Text . . . . . . . . . . . . . . . . . 27
Copying, Moving, Changing, and Deleting Text . . . . 30
Block Commands . . . . . . . . . . . . . . . . . 30
Marking and Unmarking a Block . . . . . . . 30
Manipulating Blocks Directly . . . . . . . . 32
Manipulating Blocks Using Scrap Buffer . . . 33
Manipulating Blocks Using Scratch Buffers . 35
Examples of Block Commands . . . . . . . . . 36
Non-Block Commands . . . . . . . . . . . . . . . 40
Adding Text . . . . . . . . . . . . . . . . 40
Copying Text . . . . . . . . . . . . . . . . 41
Moving Text . . . . . . . . . . . . . . . . 42
Deleting And Undeleting Text . . . . . . . . 43
Changing Case . . . . . . . . . . . . . . . 44
Sorting . . . . . . . . . . . . . . . . . . 44
The Kill Buffer - A Safety Net . . . . . . . . . 45
Macros . . . . . . . . . . . . . . . . . . . . . . 47
Printing . . . . . . . . . . . . . . . . . . . . . . 48
Print Formatting . . . . . . . . . . . . . . . . 48
Formfeeds. . . . . . . . . . . . . . . . . . . . 49
The Shell and Dos Commands . . . . . . . . . . . . . 50
Swapping, [QE] Shell Indicator . . . . . . . . . 51
Word-Processing Commands . . . . . . . . . . . . . . 52
Modes. . . . . . . . . . . . . . . . . . . . . . . . 54
2. Customizing QEdit . . . . . . . . . . . . . . . . . . 57
Initiating the Configuration Program . . . . . . . . 57
The Configuration Menu . . . . . . . . . . . . . . . 58
Advanced Options . . . . . . . . . . . . . . . . . . 60
Colors/Screen Options. . . . . . . . . . . . . . . . 63
General Options. . . . . . . . . . . . . . . . . . . 66
The Help Screen. . . . . . . . . . . . . . . . . . . 71
Keyboard Configuration . . . . . . . . . . . . . . . 72
The Keyboard Definition File . . . . . . . . . . 73
Creating a Keyboard Definition File. . . . . . . 75
Printer Options. . . . . . . . . . . . . . . . . . . 76
Tab Settings . . . . . . . . . . . . . . . . . . . . 77
3. QEdit Macro Reference . . . . . . . . . . . . . . . . 79
Keyboard Macros. . . . . . . . . . . . . . . . . . . 80
Creating Keyboard Macros . . . . . . . . . . . . 80
Using Keyboard Macros. . . . . . . . . . . . . . 80
Saving and Reloading Keyboard Macros . . . . . . 81
Example of a Keyboard Macro. . . . . . . . . . . 82
Creating Macro Programs. . . . . . . . . . . . . . . 83
Advanced Macro Programming . . . . . . . . . . . 86
Macro Pause . . . . . . . . . . . . . . . . 86
Using Paste within a Macro . . . . . . . . . 87
Repeating a Command within a Macro . . . . . 88
Conditional Logic for Macros . . . . . . . . 89
Special-Purpose Macro Commands . . . . . . . 90
The Main Macro . . . . . . . . . . . . . . . 93
QMac . . . . . . . . . . . . . . . . . . . . . . . . 94
Using QMac: An Overview . . . . . . . . . . . . 95
Executing QMac . . . . . . . . . . . . . . . . . 97
Writing Macro Text . . . . . . . . . . . . . . . 99
Converting Macro Binary Format to Text Format. . 102
Startup Macros . . . . . . . . . . . . . . . . . . . 104
4. QEdit Command Reference . . . . . . . . . . . . . . . 105
ACKNOWLEDGEMENTS
======================================================================
Many years of work have gone into the development of this version of
QEdit. And we had LOTS of help. Special thanks go to:
Gerhard Barth, who went above and beyond the call of duty to help us
track down a nasty bug in the very first version of QEdit.
P.L. Olympia, who has gone out of his way and spent much time promoting
this program.
Karl Brendel, for his constant support and excellent testing. Karl is
also the author of an excellent add-on product for QMODEM called
QFONEDIT.
John Newlin, for his encouragement and support. John is also the author
of SCOUT. If you are looking for a powerful file or DOS manager that is
memory resident, then look no further. SCOUT is probably what you are
looking for.
Stuart Warren, for his insight, encouragement, and many valuable
programming suggestions.
To ALL registered users - THANK YOU! It is only through your support
that continual enhancements are made possible.
INTRODUCTION
======================================================================
This manual describes the use and operation of QEdit, a full-screen text
editor for the IBM PC and compatible computers. The manual includes
installation instructions, a user's guide, a chapter on customizing the
editor, and reference sections for the macro language and the QEdit
commands.
QEdit is a text editor as opposed to a word processor. This means that
most of its features are geared toward creating and maintaining program
source code and other text files. However, QEdit can also be used like
a word processor to write documents or letters since it includes many
word-processing capabilities.
QEdit was developed with these goals in mind:
* FAST OPERATION - More than anything else, QEdit was designed to
operate quickly, especially in these areas:
- Initially loading a file for editing.
- Displaying/updating the screen.
- Moving through the editing window.
- Searching for text.
- Saving a file back to disk.
* EASE OF USE - This version of QEdit includes:
- Optional "pull-down" menus.
- Customizable Help Screen.
- Complete execution from a single file (Q.EXE).
- Pop-up file directory and picker.
* COMPACT PROGRAM SIZE - Every effort has been made to keep the program
size as compact as possible. Even though memory is getting cheaper
all the time, we do not want QEdit to require any more memory than
absolutely necessary.
QEdit is available in three versions: QEdit Advanced (the standard DOS
version), QEdit TSR (the memory-resident DOS version), and QEdit for
OS/2. All three versions offer the same rich set of features and behave
in much the same manner. This manual uses QEdit Advanced as its basis
for discussion of the operation and features of the editor.
FEATURES
======================================================================
QEdit offers a number of powerful features for editing text, both easily
and quickly. To put that power at your fingertips, version 3 of QEdit:
* Is very fast!
* Is highly customizable. QEdit can be easily configured the way you
like. You can configure ALL of the special keys on the keyboard
(Alt, Ctrl, and function keys; <Home>, <PgUp>, etc.), as well as the
colors, screen appearance, and many other options.
* Is easy to use. An optional "pull-down" menu provides ready access
to QEdit's commands, and the Help Screen can be customized for your
own needs.
* Is compact. Even with all these features, QEdit requires less than
70K of disk space.
* Utilizes all available DOS memory (up to 640K). Edit files as large
as your computer's memory will allow.
* Allows multi-file editing. The number of files you can edit is
limited only by available memory.
* Enables you to view files through up to eight horizontal, resizable
"windows". You can have multiple views of the same file or view a
different file in each window.
* Provides up to 99 scratch buffers for cut-and-paste or template
operations. You can even select a buffer from a pick-list of your
current scratch buffers.
* Allows you to temporarily exit to DOS (or a DOS shell) and use DOS
commands from within the editor. Optionally, the editor can swap to
disk or expanded memory to allow even the largest programs (such as
compilers) to run from within QEdit.
* Supports numerous character, line, and column Block operations.
* Saves deleted words, lines, and Blocks in a deletion buffer for
later recall.
* Will load multiple files from the DOS command line, with or without
wildcard characters.
* Allows you to specify up to six default file extensions for use when
loading files and determining tab settings.
* Provides line-drawing capability to create diagrams and tables.
* Supports enhanced (101-key) keyboards.
* Supports up to 200-column and 100-line screens.
* Supports EGA 43-line mode, and VGA 28-line and 50-line modes.
* Offers a built-in Sort command, with options for ascending,
descending, and case-insensitive sorting.
* Includes options for the Find and FindReplace commands to start a
search at the beginning of a file ("global" option) and/or limit a
search to a marked Block ("local" option).
* Provides the ability to shift entire Blocks using the tab left and
right commands (TabLt and TabRt).
* Allows you to fill a Block with a specified character (FillBlock
command).
* Offers an optional large, flashing block cursor as a configuration
option. This is especially helpful for use on laptop computers.
* Accommodates editing of files with a linelength of up to 1000
characters.
* Provides a pop-up ASCII chart that allows you to directly insert the
selected character into your text.
* Includes various tab-handling options, including variable, smart,
and fixed tabs.
For your word-processing needs, QEdit:
* Provides wordwrap and paragraph-reformat capabilities.
* Includes options to change the case of characters (Flip, Lower,
Upper commands).
* Gives you the ability to center the text on a line (CenterLine
command).
* Offers various printing options, such as specification of top and
bottom print margins (SetPrintBotMargin, SetPrintTopMargin
commands), assignment of the print device, ability to adjust line
spacing, and inclusion of line numbers.
* Allows you to configure the date and time formats.
* Includes an option to display the hex and decimal values of the
current character on the StatusLine.
To further enhance the editor's operation, QEdit's macro facility:
* Allows you to create macros that will execute a series of commands
and keystrokes by pressing a single key.
* Offers a simple macro scripting language.
* Includes the ability to load and/or execute macros from the DOS
command line, as well as an option to execute an automatic startup
macro.
* Supports conditional logic (Jump, JTrue, JFalse commands).
To assist you in your programming tasks, QEdit:
* Provides "C mode", which utilizes automatic indentation for
C-language programming.
* Locates matching braces and parentheses, which is very useful for
entering and maintaining source code.
* Allows you to execute command-line compilers from within the editor,
using QEdit's macro facility.
* Offers a DOS command-line option (-n) for jumping to a specific line
number within a file upon loading.
SYSTEM REQUIREMENTS
======================================================================
QEdit will run on the IBM PS/2, PC/AT, PC/XT, PC, PC/Jr, and on IBM
compatible computers including the Compaq, NCR, Tandy, and WYSE PCs.
MINIMUM requirements are:
* 128 KB of memory (although QEdit can utilize up to 640 KB if it is
available) for QEdit Advanced.
* PC- or MS-DOS v2.0 or greater.
* One diskette drive.
* Either a color or a monochrome monitor with 80-column display.
* Less than 70 KB of disk space.
* The editor program itself: Q.EXE. Once configured, no other files
are necessary for operating QEdit.
INSTALLATION
======================================================================
With the shareware version of QEdit, simply create a new directory, and copy
all of the included QEdit files to that directory.
TASKS TO PERFORM FOLLOWING INSTALLATION
----------------------------------------------------------------------
Following installation, if you placed QEdit Advanced in a directory that
is not already listed in your path, you may want to modify the path
statement in your AUTOEXEC.BAT to include the QEdit directory. This
allows you to run QEdit Advanced from any directory.
Please review the contents of the READ.ME file included with the QEdit
software. This file contains important information (usage information,
new features, changes, etc.) that became available after this manual was
printed.
The READ.ME file also contains a complete list of the files included
with the software. A partial list is included here:
QEdit Advanced
QEdit Advanced File Description
-------------- ------------------------------------------
Q.EXE QEdit. Once configured, no other files
are necessary for proper operation of
QEdit.
QCONFIG.EXE The QEdit configuration program. This
program allows you to customize QEdit.
QCONFIG.DAT The default QEdit Keyboard Definition
file. Used by QCONFIG.EXE (or
QTCONFIG.EXE)
QHELP.TXT The default QEdit Help text. Used by
QCONFIG.EXE (or QTCONFIG.EXE).
QMAC.EXE The QEdit macro translator. This program
allows you to externally write macros.
Note: After you have tried QEdit, you may wish to permanently customize
some of the options. QEdit comes with a configuration program, QCONFIG,
that makes customizing the editor easy. See Chapter 2, "Customizing
QEdit," for instructions.
SETTING UP QEDIT ON A LAPTOP SYSTEM
----------------------------------------------------------------------
If you have a laptop computer (one with an LCD or plasma display), in
addition to carrying out the procedures given in the previous sections,
you should set your screen parameters before using QEdit. QEdit works
best if you enter MODE BW80 at the DOS command line before running the
editor.
Alternatively, you can install QEdit for a black-and-white screen with
the QEdit customization program, QCONFIG. Refer to Chapter 2,
"Customizing QEdit." With this customization program, you should choose
"1" (Monochrome) from the "Colors/screen" options, when prompted with
"Startup attribute set:".
+QEdit Tip:-------------------------------------------------+
| Please note that one of the MAJOR features of QEdit is |
| configurability. You can customize the colors, the keys, |
| the on-screen appearance of the editor, and many other |
| functions. |
| |
| By spending just a small amount of time reviewing Chapter |
| 2 on configuration, you can benefit greatly through |
| customizing the editor to your personal preferences. |
+-----------------------------------------------------------+
CHAPTER 1. USER'S GUIDE FOR QEDIT
======================================================================
QUICK START
----------------------------------------------------------------------
With QEdit you can edit any text file with a few simple commands. The
next three sections briefly describe the quickest way possible to load,
edit, and save a file.
Getting Started
---------------
Using QEdit is simple and straightforward.
To initiate QEdit, type "Q <Enter>". The Editor will respond with a
prompt for the name of the file to be edited.
+-----------------------------------------------------------+
| File(s) to edit: |
| |
+-----------------------------------------------------------+
Enter the filename. The filename may include full path designation.
+QEdit Tip:-------------------------------------------------+
| At any "File to edit" prompt, you may use wildcard |
| characters (* or ?) to obtain a list of matching files in |
| the directory. |
+-----------------------------------------------------------+
You may optionally include the filename on the DOS command line in order
to bypass this prompt. For example, from the DOS command line, type:
"Q filename <Enter>"
In the Editor
-------------
Once you are in QEdit, the cursor movement keys (Left, Right, Up, Down,
Home, End, ...) allow you to move around in the text.
To obtain a Help Screen, simply press <F1>. Pressing <F1> again (or any
other key) returns you to the text.
To obtain a menu of QEdit commands, press <Esc>. You may then use the
cursor movement keys to position the cursor bar over the desired
command. Press <Enter> to execute the command.
+QEdit Tip:-------------------------------------------------+
| Within a prompt for a command, press <Esc> to cancel the |
| command (and the prompt). |
+-----------------------------------------------------------+
Getting Out
-----------
The easiest way to get out of QEdit and save all the work you have done
is to enter <Alt F> <G>.
MENUS
----------------------------------------------------------------------
QEdit provides an easy-to-use "pull-down" style menu system. The menu
system is very helpful while learning to use the editor. It is also
handy for executing seldom-used commands.
To access the menus and execute a command:
1. Press <Esc>. The main menu is displayed at the top of the screen.
The main menu consists of a list of sub-menu items.
2. Select a sub-menu item. To do this, either move the cursor bar
to the desired item and press <Enter>, or type the capital
letter of the desired item.
3. Execute a command. This is done in the same manner as selecting the
sub-menu items.
Here is an example of the pull-down style menu system. The User is
about to execute the "Copy block" command.
+-----------------------------------------------------------------+
|File Window #Block# Search Print Macro Editing Other Quit |
+------------+-------------------+--------------------------------+
| mark Line |
| mark cHaracter |
| mark Kolumn |
| mark Begin |
| mark End |
| Unmark |
+-------------------+
|#Copy block########|
| Move block |
| Delete |
| copyOver |
| Fill |
+-------------------+
| Sort |
| Ignore case [off] |
| desceNding [off] |
+-------------------+
You can execute many QEdit commands using the menus. As you become more
familiar with the editor, you may wish to use the <Ctrl>, <Alt>, and
function key assignments, instead of the menus, to execute commands more
quickly. Cross-reference listings of all QEdit commands can be found in
Appendices A and B.
THE STATUSLINE
----------------------------------------------------------------------
At the top of the editing screen is the StatusLine. The StatusLine
constantly displays information about the file you are currently
editing.
The StatusLine is shown below with a description of the information
displayed.
+------------------------------------------------------------------+
|L 15 C 15 IAW R B 411K *c:\qedit\qedit.doc 20h,32|
+--+------+----+++-+-+---+-----+------+-------------------------+--+
| | ||| | | | | | +---------------------+
| | ||| | | | | | |
| | ||| | | | | | |
| | ||| | | | | | +--- The hex and decimal
| | ||| | | | | | value for the character
| | ||| | | | | | at the cursor position,
| | ||| | | | | | if this option is turned
| | ||| | | | | | on.
| | ||| | | | | |
| | ||| | | | | +--- The path and name of the
| | ||| | | | | file you are editing
| | ||| | | | |
| | ||| | | | +--- *) Indicates file has been changed
| | ||| | | |
| | ||| | | +--- Amount of available memory
| | ||| | |
| | ||| | +--- B) Indicates Box Drawing mode is ON
| | ||| |
| | ||| +--- R) Indicates Macro Recording is ON
| | |||
| | ||+--- W) Indicates WordWrap mode is ON
| | ||
| | |+--- A) Indicates AutoIndent mode is ON
| | |
| | +--- I) Indicates Insert mode is ON
| |
| +---- The current cursor column number
|
+---- The current cursor line number
For more information on Insert, AutoIndent, WordWrap, and Box Drawing,
refer to the "Modes" section in this chapter. For more information on
macro recording, refer to Chapter 3, "QEdit Macro Reference."
+QEdit Tip:-------------------------------------------------+
| The StatusLine may be configured to appear at the bottom |
| of the screen. Refer to the "Colors/Screen Options" |
| section of Chapter 2 for more information. |
+-----------------------------------------------------------+
PROMPTS
----------------------------------------------------------------------
When QEdit needs information from the user (such as the name of a
file to edit, a search string, etc.), a prompt is issued. The prompt
consists of a message, telling what information is requested, and an
area for the user to enter their response. The following commands are
available in prompts (if assigned to a key):
BackSpace CursorRight EndLine Return
BegLine DelCh Escape ToggleInsert
CurrentFilename DelLine Paste
CursorLeft DelToEol Pause
Other commands are simply ignored.
Note: Execute DelLine (<Ctrl Y> or <Alt D>) to clear the response area
of any prompt.
FILES
----------------------------------------------------------------------
Creating New Files
------------------
There are three different ways to create new files, ready for editing.
1. From the DOS command line, enter <Q> followed by one or more new
filenames. Each filename must be separated by a space. For example,
typing:
"Q file1 b:file2 \dir1\file3 <Enter>"
will create "file1" in the current directory, "file2" on disk drive
B, and "file3" in the directory "dir1".
+QEdit Tip:-------------------------------------------------+
| When specifying file names to QEdit, you may use full |
| path designations if desired. |
+-----------------------------------------------------------+
2. From the DOS command line, type "Q <Enter>". QEdit responds with the
prompt:
+-----------------------------------------------------------+
| File(s) to edit: |
| |
+-----------------------------------------------------------+
Enter one or more new filenames, each separated by a space.
3. From within the editor, execute the EditFile <Alt E> command. The
above prompt will appear. Again, you may enter one or more new
filenames, each separated by a space.
Loading Existing Files
----------------------
Loading existing files works exactly like creating new files (in the
previous section) with two exceptions:
* The filename(s) specified must exist on disk.
* The filename(s) may contain wildcard characters (*, ?).
QEdit can be configured to respond to wildcarded filename entries in one
of two ways:
1. Load all matching files into the editor.
2. Show all the matching filenames in a "pick" listing. You can then use
the cursor keys to find the file you want and press <Enter> to load
it into the editor.
QEdit can also be configured to use default file extensions, such as
"doc" and "pas" when entering filenames. For more information on
configuring these options, refer to the "General Options" section of
Chapter 2.
Invoking QEdit at a Specific Line Number
----------------------------------------
A QEdit DOS command line option (-n) allows you to specify a line number
in a file on which to position the cursor when the file is loaded into
QEdit. From the DOS prompt type:
q <filename to edit> -n<specific line number>
For example, to load file1 at line number 125, from the DOS command line
you would enter:
q file1 -n125
Or, if you prefer:
q -n125 file1
Multiple Files: The Ring
------------------------
QEdit is a true multi-file editor. It allows as many files as will fit
into memory to be loaded at the same time. All of these files can then
be edited by simply switching back and forth between them without having
to save and load each file individually. Switching between files is
accomplished very quickly and easily.
A simple explanation of how QEdit handles multiple files will help you
in manipulating and editing multiple files.
QEdit maintains all loaded files in a "ring". As we describe each of
the commands used to manipulate the files in the ring, refer to the
illustration below.
+-----------------------------------------------------------+
| +----+ +----+ |
| | | |####| |
| +-----> | A | <---<Ctrl KP>|#B##|<Alt N> |
| | | | |####| | |
| | +----+ +----+ | |
| v ^ <Alt E> v |
| +----+ | | +----+ |
| | | | | | | |
| | F | <----+-------------------+-----> | C | |
| | | | | | | |
| +----+ | | +----+ |
| ^ v v ^ |
| | +----+ +----+ | |
| | | | | | | |
| +-----> | E | <----------> | D | <----+ |
| | | | | |
| +----+ +----+ |
| |
| The "Ring" |
+-----------------------------------------------------------+
In the ring we see that six files have been loaded into the editor. You
can, of course, load many more files - as many as your computer's memory
will allow.
Assume the file currently being edited is file "B". You may then move
from one file to another in any of the following ways:
* Enter the NextFile <Alt N> command. You will now be editing the next
file in the ring, file "C".
* Enter the PrevFile <Ctrl KP> command. You will now be editing the
previous file in the ring, file "A".
* Enter the EditFile <Alt E> command. The editor will prompt for a
filename. You may enter the name of any file in the ring. The editor
will make the entered file the current one for editing.
* Enter the ListFiles <Esc><F><T> command. You will be shown a
scrollable list of all loaded files, from which you may select a
different file to edit.
You may, at any time, add files to the ring or discard files from the
ring. If you add a new file to the ring using the EditFile command, it
will become the current file and the old current file will become the
previous file. If you delete a file from the ring the previous file
will become the current file.
+QEdit Tip:-------------------------------------------------+
| When loading files, be aware that QEdit will not load two |
| copies of the same file. If you issue the EditFile |
| command for a file already loaded, that file will become |
| the new current file. |
+-----------------------------------------------------------+
Saving Files and Exiting
------------------------
QEdit provides several different ways to save files, discard files, and
exit the editor. A set of five basic commands provides assorted
combinations of saving, discarding, and exiting in order to suit
individual preferences.
We recommend selecting one or two methods with which you feel most
comfortable and using them consistently.
The table below summarizes these commands and their effects.
+------------------------------------------------------------------+
|Command for Single Command for Multiple |
|File or Current File Files |
|-------------------- -------------------- |
|Exit <Ctrl KD> GExit <Alt X> X X X(a)|
| |
|File <Ctrl KX> GFile <Alt F><G> X X X(a)|
| |
|PQuit <Ctrl KQ> GPQuit <Alt Q><Q> X X X(a)|
| |
|Quit (b) X X |
| |
|SaveFile <Ctrl KS> GSave <Alt Y> X |
| |
| | | | | | |
| Edited File(s) are Saved Unconditionally ---+ | | | | |
| | | | | |
| User Prompted to Save Edited Files (Y/N) ---+ | | | |
| | | | |
| User Warned That File Changes May Be Lost ---+ | | |
| | | |
| File(s) are Discarded From Editor ---+ | |
| | |
| The Editor is Terminated ---+ |
| |
| (a) The Exit, File, and PQuit commands can be configured to |
| terminate or not terminate the editor. Refer to the |
| "General Options" section of Chapter 2 for more |
| information. |
| |
| (b) USE WITH CAUTION! |
+------------------------------------------------------------------+
Read-Only Files
---------------
Read-Only files can be loaded and edited. However, they cannot be
saved.
When a Read-Only file is initially loaded, the message "File is
READONLY" is displayed at the top of the screen. If you subsequently
attempt to save a Read-Only file, the following message appears:
+============================================+
|Cannot save READONLY files - Press <Esc> |
+============================================+
To save a Read-Only file, simply save it under a different name using
the WriteBlock <Alt W> command (be sure there are no marked Blocks in
the file), or change the filename using the ChangeFilename <Alt O>
command and then save the file under the new name.
VIEWING AND GETTING AROUND IN THE TEXT
----------------------------------------------------------------------
QEdit is quite versatile in allowing you to move around in the text.
With simple keystrokes you can either move a few characters or lines at
a time or move from one end of the file to another. You can go to
specific lines in the file or go to each occurrence of a particular
string of characters. And with QEdit's windows, you can view up to
eight files at a time or have multiple views of the same file.
As you will see, there are quite a few commands in QEdit for moving
around in your text. If you are not already familiar with these types
of commands, try them out. You will probably find some new commands
that will be useful for your applications of QEdit.
Cursor Movement
---------------
Moving Through a File
QEdit provides several commands which enable you to move about in a
file.
* BegFile <Ctrl PgUp>, EndFile <Ctrl PgDn>
As their names imply, these commands move the cursor to the beginning
or end of the current file. BegFile positions the cursor at column
one on the first line of the file. EndFile positions the cursor after
the last non-blank character on the last line of the file.
* PageUp <PgUp>, PageDown <PgDn>
PageUp scrolls the text toward the top of the file, one page-full,
less one line, at a time. PageDown scrolls the text toward the end of
the file, one page-full, less one line, at a time.
* HalfPgUp and HalfPgDn
These commands work exactly like the PageUp and PageDown commands,
except that they scroll only one-half page at a time.
* NextPara, PrevPara, EndPara
These commands move the cursor to the start of the next, previous, or
to the end of the current paragraph.
+QEdit Tip:-------------------------------------------------+
| All QEdit commands, including those without default key |
| assignments, can be assigned as the user desires, to |
| almost any key. Refer to the "Keyboard Configuration" |
| section of Chapter 2 for more information. |
+-----------------------------------------------------------+
* ScrollUp <Ctrl W>, LineUp
These commands scroll the text one line at a time toward the beginning
of the file.
The ScrollUp command causes the cursor to remain on the same line of
text until it reaches the bottom of the screen, while the LineUp
command causes the cursor to remain stationary on the screen.
* ScrollDown <Ctrl Z>, LineDown
These commands scroll the text one line at a time toward the end of
the file.
The ScrollDown command causes the cursor to remain on the same line of
text until it reaches the top of the screen, while the LineDown
command causes the cursor to remain stationary on the screen.
* GotoLine <Ctrl J>
Upon entering the GotoLine command, QEdit prompts with:
+--------------------------+
|Goto line: |
| |
+--------------------------+
Type a line number and press <Enter>. QEdit then "jumps" the cursor
to the specified line number. An easy way to move about quickly in
your text is to keep track of critical positions by noting their line
number, which is displayed on the StatusLine, and then using this
command to "jump" to those positions.
* GotoBlockBeg <Ctrl QB>, GotoBlockEnd <Ctrl QK>
These commands move the cursor to the beginning or to the end of the
currently marked Block. If the marked Block is in another file, QEdit
makes that file the current file and then moves you to the beginning
or end of the Block. For more information on using marked Blocks,
refer to the "Block Commands" section in this chapter.
* PrevPosition <Ctrl QP>
This command can be very handy. It moves you to the cursor's previous
position. Although it is not of much use if you have only moved a
character or two, it can be useful for larger jumps of the cursor.
For example, perhaps you are in the middle of a file and want to check
something at the very beginning of the file. To get to the beginning,
you would simply enter BegFile <Ctrl PageUp>. After you look at the
beginning, you want to get back to where you were previously. You
could use PageDown, but that could be tedious, especially if your file
is large. The easiest way would be to enter PrevPosition, and with a
single keystroke, you are immediately back where you started. Note:
PrevPosition can only take you back to the cursor's immediately
previous position.
If there are intervening keystrokes that move the cursor, PrevPosition
will move you back to the most recent location of the cursor.
Moving Around on the Screen
These commands affect the cursor position within the current screen of
displayed text.
* BegScreen <Ctrl Home>, EndScreen <Ctrl End>
These commands move you to the first or last line of the screen (or
current window if you have windows open). The cursor's column
position does not change.
* BegLine <Home>, EndLine <End>
You are probably already familiar with these commands. BegLine moves
the cursor to the beginning, or column one, of the current cursor
line. EndLine moves the cursor to the last non-blank character of the
current cursor line.
* FirstNonWhite
This command is intended as a replacement for the BegLine command. It
positions the cursor on the first non-white (space) character on the
current line, or column 1 if the line is blank. An interesting
variation is a command that toggles between the beginning of the line
and the first non-white character on that line:
home MacroBegin FirstNonWhite MacroQuitTrue BegLine
Refer to the "Keyboard Configuration" section of Chapter 2 for more
information on changing QEdit command assignments.
* ScreenLeft <Alt F5>, ScreenRight <Alt F6>
These commands scroll the entire text to the left or right one column
at a time. You can change the number of columns which are shifted
each time using the QEdit configuration program. Refer to the
"Colors/Screen Options" section of Chapter 2 for more information.
* WordLeft <Ctrl Cursor Left>, WordRight <Ctrl Cursor Right>
These commands move the cursor to the first character of the previous
or following word in the text.
* MakeCtrofScreen <Shift F5>, MakeTopofScreen <F5>, and MakeBotofScreen
These three commands change the position of the cursor line on the
screen (or window, if you have windows open). They can be useful if
you prefer to work at the bottom or top of the screen or if you want
to keep the text surrounding your cursor line in view.
The MakeCtrofScreen command scrolls the text on the screen (either up
or down) until the cursor line is the center line of the screen.
The MakeTopofScreen command scrolls the text upward until the cursor
line is the top line of the screen.
The MakeBotofScreen command scrolls the text downward until the cursor
line is the last line of the screen.
Moving By Lines and Characters
These commands enable you to move in short increments through the text.
* CursorLeft <Cursor Left>, CursorRight <Cursor Right>
These commands move the cursor one column to the right or left on the
cursor line.
When you use CursorLeft, the cursor stops when it reaches the left
edge of the screen, unless the text has been scrolled to the left. In
that case it scrolls the text to the right one column at a time until
it reaches column one.
When you use CursorRight and the cursor reaches the right edge of the
screen, it begins to scroll the text to the left. It stops scrolling
when it reaches the maximum line length.
If you prefer that cursor left/right would wrap at the beginning and
end of lines, you can assign the following macros in your QCONFIG.DAT
file in lieu of cursor left/right, respectively:
* Left and Right cursor definitions that wrap to previous/next line
* like WordStar does
cursorleft MacroBegin
CursorLeft * try to go left
MacroQuitTrue * succeed! then we are done
CursorUp * else try to go to prev line
MacroQuitFalse * if fail, then at top of file. done.
EndLine * jump to end of previous line.
cursorright MacroBegin
isEndLine * are we at end of line?
JTrue down: * if so goto down
CursorRight * else right one
MacroQuit * Quit macro
down:
CursorDown * try to go to next line
MacroQuitFalse * if not goto end
BegLine * else goto beginning of line
Refer to the "Keyboard Configuration" section of Chapter 2 for more
information on changing QEdit command assignments.
* CursorUp <Cursor Up>, CursorDown <Cursor Down>
These commands move the cursor up or down in the file one line at a
time. The cursor's column position does not change.
* GotoColumn <Esc><S><G>
Upon entering the GotoColumn command, QEdit prompts with:
+--------------------------+
|Goto column: |
| |
+--------------------------+
Type a column number and press <Enter>. QEdit then moves the cursor
to the specified column number.
Using Windows
-------------
QEdit provides the ability to view different areas of files (either
multiple files or the same file) at the same time, through the use of
windows. A window is a portion of the screen that allows you to view
text. You can divide your screen into as many as eight horizontal
windows. You can then view as many as eight different files through
these windows or have multiple views of a single file. This capability
can be quite helpful for comparing text, copying text, and moving text.
An example of a screen split into three windows is shown below.
+--------------------------------------------------------------+
| L 1 C 1 IAW 411K *c:\file1 |
| |
| This window is a view of file number 1 at line number 1. |
| This file is being edited with Insert, AutoIndent, and |
| WordWrap modes all ON. This file has been updated. |
| |
| |
| |
| |
| L 483 C 12 IAW 411K *c:\file1 |
| |
| This window is a view of file number 1 at line number 483. |
| |
| |
| |
| |
| L 15 C 14 I 411K c:\file2 |
| - |
| This window is a view of file number 2. |
| This file is being edited with Insert mode ON, while |
| AutoIndent and WordWrap modes are OFF. This file has not |
| been updated. |
+--------------------------------------------------------------+
Creating Windows
To create a window, use the HorizontalWindow <Ctrl OH> command. The
screen will be split into two halves, or windows, each window having its
own StatusLine. The cursor will reside in the newly created window,
making it the current window.
If only one file is being edited, the newly created window will simply
be an additional view of the same file. QEdit will not load more than
one copy of the same file.
If multiple files are being edited, the newly created window will be a
view of the next file in the ring. (Refer to the "Multiple Files"
section in this chapter.) If desired, you can configure QEdit to prompt
for the name of the file to be viewed in the new window instead of the
editor automatically selecting the next file in the ring. Refer to the
"General Options" section of Chapter 2 for more information.
Once the screen has been split into windows, entering the
HorizontalWindow command again will affect the current window. All other
windows will remain unchanged.
Switching Windows
When multiple windows are opened, editing will only take place in the
current window (the window containing the cursor). For editing text in
other windows, two commands are provided to switch from one window to
another.
* PrevWindow <Ctrl OP>
This command moves the cursor to the window above the current window.
If the current window is at the top of the screen, the cursor moves to
the last window on the screen.
* NextWindow <Ctrl ON>
This command moves the cursor to the window below the current window.
If the current window is at the bottom of the screen, the cursor moves
to the first window on the screen.
Changing Window Size
You can change the size of any window on the screen with the commands
below.
* GrowWindow <Ctrl OG>, ShrinkWindow <Ctrl OS>, ResizeWindow <Esc><W><R>
These commands allow you to change the size of the current window.
Upon entering any of these commands, QEdit prompts you to change the
size of the window by using the cursor up and cursor down keys.
* ZoomWindow <Ctrl OZ>
This command causes the current window to fill the entire screen, as
all other windows disappear. To restore the screen with all windows,
simply press <Ctrl OZ> again. Be careful not to confuse this command
with the OneWindow command (see below). OneWindow fills the screen
with the current window (like ZoomWindow does), but it also closes all
windows except the current one. ZoomWindow leaves the other windows
intact, even though they are hidden from view.
Closing Windows
There are two commands to close windows.
* CloseWindow <Ctrl OC>
This command closes the current window. The current window disappears
and the cursor is placed in the window above the closed window, making
it the new current window. When the closed window is at the top of the
screen, the window below the closed window becomes the new current
window.
* OneWindow <Ctrl OO>
This command closes all windows except the current window. The
current window then fills the entire screen.
Note that closing a window does not discard files from the editor.
FINDING AND REPLACING TEXT
-----------------------------------------------------------------------
Finding Text
------------
* Find <Ctrl QF>, RepeatFind <Ctrl L>
These commands search for a specific string of characters in the file.
Upon entering the Find command, QEdit prompts for the string of
characters for which to search.
+-----------------------------------------------------------+
|Search for: |
| |
+-----------------------------------------------------------+
Enter the desired string of characters and press <Enter>.
QEdit then prompts for the search options to use.
+-------------------------------------------------------------+
|Options [BGLIW] (Back Global Local Ignore-case Whole-words): |
| |
+-------------------------------------------------------------+
Enter the letter(s) corresponding to the option(s) you want and press
<Enter>. The available options are:
[B] = Search backward from the current cursor position. When you
choose "B", QEdit searches backward from the cursor position
toward the beginning of the file. Otherwise, it searches from
the cursor position toward the end of the file.
[G] = Global search. Begins searching from the beginning of the
file, or from the beginning of the marked Block if the [L]
option is also selected.
[L] = Local search. Limits the search to the currently marked
Block. If the cursor is outside the marked Block, or the [G]
option is also selected, the search starts at the beginning of
the marked Block. Otherwise, the search starts at the current
cursor position inside the marked Block.
[I] = Ignore the case (capital or lowercase) of the search string.
For example, "Hello" would match "hello" if this option is
chosen. This option is set ON by default.
[W] = Search for whole words only. For example, when this option is
chosen, the word "sent" matches only the actual word "sent".
Otherwise, any other words that contain the string (such as
"sentence" or "absent") would also match.
Once the Find command is executed the cursor is placed at the first
occurrence of the search string found in the text. To locate
subsequent occurrences of the search string, simply enter the
RepeatFind command.
If you want to search for a string and replace it with another string,
refer to the "Replacing Text" section in this chapter.
+QEdit Tip:-------------------------------------------------+
| The placement of the found text is configurable. It can |
| either be placed on the same relative row on which the |
| cursor line initially started, or centered. Refer to the |
| ToggleCenterFinds command in Chapter 4. On the menus, |
| press <Esc><S><C>. |
+-----------------------------------------------------------+
* Match <Alt F3>
This is a specialized search command. It acts only on the characters
( ), { }, and [ ]. With the cursor placed on one of these characters,
enter the Match command. QEdit locates the logical matching
character of the pair. This command can be useful for programming in
languages where complicated expressions are grouped using these
characters.
Replacing Text
--------------
QEdit provides the ability to search for specific strings of characters
throughout your text and then replace all, some, or none of them with
another string of characters. (If you want to search for strings of
characters without replacing them, use the Find command.)
* FindReplace <Ctrl QA>
This command searches for a specific string of characters in the
current file, and optionally, replaces it with another string of
characters.
Upon entering the FindReplace command, QEdit prompts for the
string of characters for which to search.
+-----------------------------------------------------------+
|Search For: |
| |
+-----------------------------------------------------------+
Enter the desired string of characters and press <Enter>.
QEdit then prompts for a new string of characters (to replace the old
string).
+-----------------------------------------------------------+
|Replace with: |
| |
+-----------------------------------------------------------+
Enter the new string of characters and press <Enter>.
QEdit then prompts for the search options you wish to use.
+-----------------------------------------------------------+
|Options [BGLIWN] (Back Global Local Ignore-case Whole-words|
|No-prompting): |
| |
+-----------------------------------------------------------+
+QEdit Tip:-------------------------------------------------+
| You can also enter a number in the options prompt. This |
| instructs QEdit to only change the next "n" number of |
| occurrences of the found string. |
+-----------------------------------------------------------+
Enter the letter(s) corresponding to the option(s) you want and press
<Enter>. The available options are:
[B] = Search backward from the current cursor position. If you
choose "B", QEdit searches backward from the cursor
position toward the beginning of the file. Otherwise, it
searches from the cursor position toward the end of the file.
[G] = Global search. Begins searching from the beginning of the
file, or from the beginning of the marked Block if the [L]
option is also selected.
[L] = Local search. Limits the search to the currently marked
Block. If the cursor is outside the marked Block, or the [G]
option is also selected, the search starts at the beginning of
the marked Block. Otherwise, the search starts at the current
cursor position inside the marked Block.
[I] = Ignore the case (capital or lowercase) of the search string.
For example, "Hello" would match "hello" when this option is
chosen. This option is set ON by default.
[W] = Search for whole words only. For example, when this option is
chosen, the word "sent" matches only the actual word
"sent". Otherwise, any other words that contain the string
(such as "sentence" or "absent") would also match.
[N] = Find and replace without prompting. If you choose "N", QEdit
finds and replaces every occurrence of the search string,
without asking you if you want to replace each individual
occurrence.
If you select the "No-prompting" option, QEdit finds and replaces
every occurrence of the search string with no further User
intervention. If you do not select the "No-prompting" option, QEdit
prompts at every occurrence of the search string with:
+---------------------------------------+
| Replace (Yes/No/Only/Rest/Quit): |
+---------------------------------------+
Valid responses are:
<Y>es - Replace the search string with the new string and
continue to the next occurrence.
<N>o - Do not replace the search string, but continue to the
next occurrence.
<O>nly - Replace the search string with the new string and
quit.
<R>est - Replace the search string with the new string and
replace the rest of the occurrences with no further
prompts.
<Q>uit - Cancel the FindReplace process.
You can press <Ctrl Break> to halt a global FindReplace.
* RepeatFind <Ctrl L>
This command reissues the previous Find or FindReplace command
using the same character strings and options.
COPYING, MOVING, CHANGING, AND DELETING TEXT
----------------------------------------------------------------------
Block Commands
--------------
In this section, we will see how to mark and manipulate Blocks. A Block
is some portion of the text file which has been specifically delineated
using QEdit's Block-marking commands. We will see how to manipulate
Blocks both directly and through the use of intermediate storage areas
known as buffers.
QEdit contains a rich set of Block commands. There are commands to mark
Blocks by lines, columns, and characters. There are commands to copy,
move, shift, and delete Blocks. These commands are very useful for
transferring text from one file to another. There are also cut-and-paste
commands, as well as commands to move Blocks to and from named Scratch
Buffers.
Marking and Unmarking a Block
Before you can manipulate a Block, you must first "mark" the Block.
There are four ways of marking a Block in QEdit. The one you choose
will depend on the editing situation and what you find most comfortable.
* MarkLine <Alt L>
This command allows you to mark a Block in whole line increments. In
other words, the Block will contain complete lines only and no
portions of lines. To use this command place the cursor anywhere on
the first line of the text you wish to mark and press <Alt L>. (Notice
that the line is immediately marked.) Now, move the cursor (the Block
will "follow" the cursor) to the last line of text to be marked and
press <Alt L> again. You now have a marked Block, ready for
manipulation.
* DropAnchor <Alt A>
This command allows you to mark a Block one character at a time. In
other words, the Block will contain a stream of characters (which can
span over multiple lines). To use this command place the cursor over
the first character of the text you wish to mark and press <Alt A>.
Then begin moving the cursor toward the end of the text to be marked.
Notice that the Block "follows" the cursor position. Once the cursor
is placed over the last character to be marked, press <Alt A> again.
You now have a marked Block, ready for manipulation.
* MarkCharacter
This command works just like DropAnchor except that while marking the
Block, the cursor is not included within the Block.
MarkCharacter is provided as a replacement for the DropAnchor command.
If you want the cursor position included in character Blocks, then
continue to use DropAnchor; otherwise, replace the DropAnchor command
with this command in the QCONFIG.DAT file. Refer to the "Keyboard
Configuration" section of Chapter 2 for more information on changing
QEdit command assignments.
* MarkColumn <Alt K>
This command allows you to mark one or more columns of text. To use
this command place the cursor over the upper left-hand character of
the text you wish to mark and press <Alt K>. Then begin moving the
cursor to the right and/or downward. Notice that the Block "follows"
the cursor position. Once the cursor is placed over the lower
right-hand character of the Block, press <Alt K> again. You now have
a marked Block, ready for manipulation.
+QEdit Tip:-------------------------------------------------+
| When using the MarkLine, MarkCharacter, MarkColumn, and |
| DropAnchor commands, it is not necessary to mark the end |
| of the Block. QEdit will assume the end of the Block to |
| be the current cursor position for DropAnchor, |
| MarkCharacter, and MarkColumn and the current cursor line |
| for MarkLine. Marking the end of the Block is only |
| necessary when moving or copying text within the same |
| file. |
+-----------------------------------------------------------+
* MarkWord <Ctrl KT>
This command allows you to mark the current word. To use this
command, place the cursor anywhere in the word you wish to mark and
press <Ctrl KT>. The entire word is immediately marked. If there is
no word at the current cursor position, then no action is taken.
* MarkBlockBegin <Ctrl KB>, MarkBlockEnd <Ctrl KK>
This is another method of marking a Block one character at a time. To
mark a Block with this command, place the cursor over the first
character of the text you wish to mark and press <Ctrl KB>. Then
position the cursor one character past the end of the text that is to
be marked and press <Ctrl KK>. The Block is now marked and ready for
manipulation.
* UnmarkBlock <Alt U>
Entering the UnmarkBlock command causes the currently marked Block to
be unmarked.
QEdit allows you to mark one Block at a time. If you mark a Block and
then go elsewhere in the file and attempt to mark another Block, QEdit
will simply extend the first Block by including all the text between the
original Block and the current cursor position. If you mark a Block in
one file and then go to another file and mark a Block, QEdit will
automatically unmark the Block in the first file.
Also, if you mix types of Block marking, by entering MarkLine followed
by DropAnchor or vice-versa, QEdit will mark the Block according to the
last command entered.
Manipulating Blocks Directly
QEdit provides several ways to manipulate a marked Block. The following
commands act directly on a marked Block.
+QEdit Tip:-------------------------------------------------+
| When Copying or Moving Blocks: |
| |
| Blocks marked using the DropAnchor, MarkCharacter, |
| MarkColumn, and MarkBlockBegin/End commands will always |
| be inserted beginning at the current cursor position. |
| |
| Blocks marked using the MarkLine command will be inserted |
| at either the line before or the line after the current |
| cursor line. Refer to the "General Options" section of |
| Chapter 2 for more information. |
+-----------------------------------------------------------+
* CopyBlock <Alt C>
This command makes a copy of the marked Block and inserts it where you
indicate. You can insert this copy of the Block at some other place
in the same file or in another file. The original Block of text, from
which you made the copy, is not affected.
To use this command, first mark the Block as described above. Next,
move the cursor to the position in the file where you wish to insert
the marked text. (Or, if you have multiple files loaded and wish to
copy text from one file to another, use the NextFile, PrevFile or
EditFile commands to get a new current file and likewise position the
cursor.) Now enter the CopyBlock <Alt C> command. The Block will be
inserted at the new position. You may notice, after you use
CopyBlock, that the newly inserted Block of text is now marked and the
original Block is unmarked. To unmark the copied Block, enter the
UnmarkBlock command.
QEdit provides an easy method for copying the same Block repeatedly.
Refer to the Copy and Paste commands in the following section for more
information.
* CopyOverBlock <Alt Z>
This command is for use with column Blocks only. It works just like
CopyBlock except the Block is copied to the current cursor position by
overlaying existing text and without shifting text to the right.
* MoveBlock <Alt M>
This command works exactly like CopyBlock with one exception: upon
entering the MoveBlock <Alt M> command, the originally marked Block is
deleted from the file.
As with the CopyBlock command, you can move a Block to another part of
the same file or from one file to another.
QEdit provides an easy method for deleting a Block from its original
position and inserting it repeatedly at other positions. Refer to the
Cut and Paste commands in the following section for more information.
* DeleteBlock <Alt G>
This command simply deletes a marked Block of text from the file. To
use this command, first mark a Block of text to be deleted, then enter
the DeleteBlock command. The marked text will be deleted from the
file. (Deleted Blocks will be placed in the Kill buffer. Refer
to "The Kill Buffer - A Safety Net" section in this chapter for
more information.)
* ShiftLeft <Shift F7>, ShiftRight <Shift F8>
These commands allow the User to shift text contained in a Block to
the left or right. To use these commands, first mark a Block. Now
enter ShiftLeft or ShiftRight. The entire marked Block of text will
be shifted one column to the left or right respectively. If there is
no marked Block of text or the cursor is outside of the marked Block,
the current cursor line will be shifted. This command is very useful
for changing indentation for portions of text or source code.
* FillBlock <Ctrl KL>
This command allows you to fill a marked Block with a single
character.
Manipulating Blocks Using Scrap Buffers
QEdit provides an extremely helpful device for quickly manipulating
Blocks of text. This device consists of a Scrap Buffer and several
QEdit commands which act on the Scrap Buffer.
The Scrap Buffer is a temporary holding area for marked Blocks of text.
The commands Cut, Copy, Paste, and PasteOver are used solely for placing
text into the Scrap Buffer and copying text from the Scrap Buffer.
When you issue a Copy or Cut command (discussed in the following
section), the marked Block is placed into the Scrap Buffer. The next
time you Copy or Cut a Block into the Scrap Buffer, the previous
contents of the Scrap Buffer are deleted and replaced with the new
Block.
You can repeatedly use the Paste and PasteOver commands as many times as
needed to insert a copy of the Block held in the Scrap Buffer at
multiple positions in your file or files. The Paste and PasteOver
commands do not purge the contents of the Scrap Buffer.
* Copy <Grey +> and Paste <Grey *> or PasteOver <Ctrl PrtSc>
To copy a section of text from its present position and insert it
somewhere else:
1. Mark the text using the Block marking commands.
2. Enter Copy <Grey +>. This places a copy of the marked text into
the Scrap Buffer.
3. If you want to insert the text somewhere else within the same file,
use the cursor movement commands to place the cursor where you wish
to insert the text.
4. If you want to insert the text in another file, switch to that file
using the NextFile, PrevFile, or EditFile command to access that
file. Then place the cursor at the desired position.
5. Enter Paste <Grey *> to insert the text. If you have copied a
column Block into the Scrap Buffer and wish to insert it by
overlaying existing text then use PasteOver <Ctrl PrtSc> instead of
Paste.
Since Paste and PasteOver leave the contents of the Scrap Buffer
intact, you can make multiple insertions in the same or different
files. Simply move the cursor to the file and position where you wish
to make additional insertions and enter Paste <Grey *> or PasteOver
<Ctrl PrtSc>. Please note that the next time you issue a Cut or Copy
command, the previous contents of the Scrap Buffer will be discarded.
* Cut <Grey -> and Paste <Grey *> or PasteOver <Ctrl PrtSc>
Cut and Paste/PasteOver work exactly like Copy and Paste/PasteOver
except that Cut will delete the marked Block from the file. You can
still make multiple insertions of the text using the Paste or
PasteOver Commands.
+QEdit Tip:-------------------------------------------------+
| QEdit can be configured to have the Cut and Copy commands |
| act on the current cursor line if no Block is marked. |
| Refer to the "Advanced Options" section of Chapter 2 for |
| more information. |
+-----------------------------------------------------------+
Manipulating Blocks Using Scratch Buffers
A Scratch Buffer is a special type of buffer to which you assign a name.
QEdit allows you to create and name up to 99 Scratch Buffers for each
editing session. These can be useful if you have several different
Blocks of text that you want to insert in multiple locations. The
commands StoreScrbuff <Ctrl BS>, AppendScrbuff <Ctrl BA>, and GetScrbuff
<Ctrl BL> are used to place text in, and retrieve text from, a Scratch
Buffer. Whenever you issue one of these commands, QEdit will ask you
for the name of the Scratch Buffer. If you want to use an already
created scratch buffer, and do not remember the name, just press <Enter>
on an empty prompt (press the DelLine key to quickly remove any text in
a prompt) and a list of existing Scratch Buffers will be shown, allowing
you to select the appropriate one. Finally, you can remove a Scratch
Buffer, if it is no longer needed, with the DelScratchBuff <Ctrl BD>
command.
The contents of all Scratch Buffers are discarded when the editor is
terminated.
* StoreScrbuff <Ctrl BS>, AppendScrbuff <Ctrl BA>
To place a Block of text into a named buffer:
1. Mark the Block.
2. If you want to create a new Scratch Buffer containing the marked
Block, execute StoreScrbuff <Ctrl BS>. (This command is also used
if you wish to replace the current contents of a Scratch Buffer
with the marked Block.) If you want to append the marked Block to
the current contents of the Scratch Buffer, execute AppendScrbuff
<Ctrl BA>.
3. QEdit prompts for the name of the Scratch Buffer.
+---------------------------------------------------------+
|Store (Append) to buffer: |
| |
+---------------------------------------------------------+
4. Enter a name. It is best to use a name which reflects the contents
of the buffer and is easily remembered. Or press <Enter> to get a
list of existing Scratch Buffers, if you cannot remember the name
and want to use an existing Buffer.
The Block is now stored in a Scratch Buffer under the assigned name.
* GetScrbuff <Ctrl BL>
To retrieve the contents of a named Scratch Buffer and insert it at
the current cursor position:
1. Position the cursor where you wish the contents of the named
Scratch Buffer to be inserted.
2. Enter GetScrbuff <Ctrl BL>. QEdit prompts for the name of
the Scratch Buffer to be retrieved.
+-------------------------------------------------------+
|Get from buffer: |
| |
+-------------------------------------------------------+
3. Enter the name of the desired Scratch Buffer, or press <Enter> to
choose from a list of existing Scratch Buffers.
4. Repeat the above steps whenever you want to insert the contents
of a Scratch Buffer into your text.
Examples of Block Commands
This section contains examples of commonly used Block Commands.
* Copying or moving a Block within the same file.
1. Position the cursor at the beginning of the Block to be copied or
moved.
2. Enter DropAnchor <Alt A> to mark a stream of characters, or
MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
a column of text.
3. Position the cursor at the end of the Block to be copied or moved.
4. Enter DropAnchor, MarkLine, or MarkColumn again to mark the end of
the Block.
5. Move the cursor to the location where you want to insert the marked
Block.
6. Enter CopyBlock <Alt C>, CopyOverBlock <Alt Z> (column Blocks
only), or MoveBlock <Alt M>.
7. Enter UnmarkBlock <Alt U> to unmark the Block.
The Block has now been copied or moved.
* Copying or moving a Block to another file.
1. Position the cursor at the beginning of the Block to be copied or
moved.
2. Enter DropAnchor <Alt A> to mark a stream of characters, or
MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
a column of text.
3. Position the cursor at the end of the Block to be copied or moved.
4. Switch to the "target" file using the file commands EditFile,
NextFile, or PrevFile.
5. Move the cursor to the location in the file where you want to
insert the marked Block.
6. Enter CopyBlock <Alt C>, CopyOverBlock <Alt Z> (column Blocks
only), or MoveBlock <Alt M>.
7. Enter UnmarkBlock <Alt U> to unmark the Block.
The Block has now been copied or moved.
* Copying or moving a Block for multiple insertions in the same file.
If you want to insert the same Block at several positions within a
file, follow these steps:
1. Position the cursor at the beginning of the Block to be copied or
moved.
2. Enter DropAnchor <Alt A> to mark a stream of characters, or
MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
a column of text.
3. Position the cursor at the end of the Block to be copied or moved.
4. If you want to leave the Block in its original position and insert
copies of it at other locations, then enter Copy <Grey +>.
If you want to delete the Block from its original position and
insert copies of it at other locations, then enter Cut <Grey ->.
The Block is now stored in the Scrap Buffer.
5. Move the cursor to the location in the file where you want to
insert the Block.
6. Enter Paste <Grey *> or PasteOver <Ctrl PrtSc> (column Blocks
only).
The Block is now inserted. Repeat steps 5 and 6 for each additional
insertion.
* Copying or moving a Block for multiple insertions in more than one
file.
If you want to insert the same Block at several positions in more than
one file, follow these steps:
1. Position the cursor at the beginning of the Block to be copied or
moved.
2. Enter DropAnchor <Alt A> to mark a stream of characters, or
MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
a column of text.
3. Position the cursor at the end of the Block to be copied or moved.
4. If you want to leave the Block in its original position and insert
copies of it at other locations, then enter Copy <Grey +>.
If you want to delete the Block from its original position and
insert copies of it at other locations, then enter Cut <Grey ->.
The Block is now stored in the Scrap Buffer.
5. Switch to the "target" file using the file commands EditFile,
NextFile, or PrevFile.
6. Move the cursor to the location in the file where you want to
insert the Block.
7. Enter Paste <Grey *> or PasteOver <Ctrl PrtSc> (column Blocks
only).
The Block is now inserted. Repeat steps 5-7 for each additional
insertion.
* Copying multiple Blocks for insertion in one or more files.
If you have several Blocks that you want to insert in several
different files, follow these steps:
1. Position the cursor at the beginning of the first Block.
2. Enter DropAnchor <Alt A> to mark a stream of characters, or
MarkLine <Alt L> to mark whole lines, or MarkColumn <Alt K> to mark
a column of text.
3. Position the cursor at the end of the first Block.
4. Enter AppendScrbuff <Ctrl BA> if you want to append to an existing
Scratch Buffer. Otherwise, enter StoreScrbuff <Ctrl BS> to create
or overwrite an existing Scratch Buffer.
5. QEdit will prompt for the name of the buffer. Enter a name. (It
is best to use a name which reflects the contents of the buffer
and is easily remembered).
The Block is now stored in a Scratch Buffer under the assigned
name. Repeat steps 1-5 for each additional Block you want to
store.
6. Switch to the "target" file using the file commands EditFile,
NextFile, or PrevFile.
7. Move the cursor to the location in the file where you want to
insert a Block.
8. Enter GetScrbuff <Ctrl BL>. QEdit will prompt for the name of the
Scratch Buffer. Enter the name of the desired Scratch Buffer for
insertion.
Repeat steps 6 through 8 for each insertion of a stored Block.
Non-Block Commands
------------------
In addition to QEdit's array of Block commands, there are also many
commands for manipulating your text which do not depend on marked
Blocks. This section explains non-Block commands.
Adding Text
* AddLine <F2>
As its name implies, this command inserts a blank line in the text.
The line is added immediately below the current cursor line. The
cursor is moved to the new line. The cursor column does not change.
* InsertLine <Alt F2>
This command inserts a blank line in the text above the cursor line.
The cursor remains on the new line and the cursor column does not
change.
* Literal <Ctrl P>
The Literal command is used to insert control characters into the
text. To use this command, enter <Ctrl P> followed by a control
character. The control character will be inserted into the text. For
example, to insert a formfeed character (ASCII 12) in the text, enter
<Ctrl P> <Ctrl L>.
This command is handy for entering the control characters represented
by ASCII decimal values 1 through 26. Simply enter <Ctrl P> followed
by <Ctrl A> for ASCII character 1, or <Ctrl B> for ASCII character 2
and so on, up to <Ctrl Z> for ASCII character 26.
+QEdit Tip:-------------------------------------------------+
| An alternate and perhaps easier method of entering |
| control characters or any ASCII character into your text |
| is to hold down the <Alt> key and enter the decimal |
| equivalent of the ASCII character using the numeric |
| keypad. For example, to insert a formfeed character |
| (ASCII 12) in the text, just enter <Alt 12> using the |
| numeric keypad. |
| |
| If a linefeed character (ASCII 10) is entered, QEdit will |
| split the line at this position the next time the file is |
| edited. |
| |
| Another method for entering ASCII characters into the |
| text is to use the AsciiChart command, described below. |
+-----------------------------------------------------------+
* AsciiChart <Esc><O><T>
Displays a scrollable ASCII chart on the screen. Press <Enter> to
have the selected character inserted into the text at the current
cursor position.
* ToggleBoxDraw <Shift F1>
This is a specialized command which is really a mode of operation that
can be switched ON or OFF. If switched ON, the cursor movement keys
(up, down, right, left) can be used to "draw" lines in the text. This
can be very useful for creating graphs and tables. To switch Box
Drawing mode ON, enter <Shift F1>. To switch OFF, enter <Shift F1>
again.
* ToggleEnterMatching <Esc><O><E>
This is also a specialized command which is really a mode of operation
that can be switched ON or OFF. If switched ON, QEdit will
automatically insert into the text a corresponding ), ], or "
character each time a (, [, or " character, respectively, is entered.
To switch EnterMatching mode ON, enter <Esc><O><E>. To switch OFF,
enter <Esc><O><E> again.
Copying Text
* GetPrev <Ctrl - (dash)>
This command copies the character directly above the cursor onto the
cursor line. To get an idea of how this command works, place the
cursor at the beginning of any line which has text on the line
immediately above it. Now press <Ctrl - (dash)> and hold it down. The
cursor will move to the right while copying the the characters from
the line above.
* DupLine <F4>
This command simply makes a copy of the current cursor line and
inserts this copy on the line immediately below the cursor line. The
cursor is placed on the new line.
* Copy <Grey +>, Paste <Grey *>
Refer to the "Block Commands" section in this chapter for a complete
explanation of these commands. The commands are included here
because, if desired, the User can configure QEdit so that these
commands act on the current cursor line in the same manner in which
they act on Blocks. For more information on how to configure this
option, refer to the "Advanced Options" section of Chapter 2.
Moving Text
* Align
This command lines up the left-most character of the cursor line with
the left-most character of the line above it. This allows you to
align portions of text which require a common left margin. This
command also moves the cursor down one line; thus, large portions of
text can be aligned very quickly by entering this command and holding
the command key down.
* JoinLine <Alt J>
This command will join the following line to the end of the current
line. The cursor position does not change.
If the cursor is positioned on or before the last non-blank character
of the line, the line below will be appended immediately following the
last non-blank character.
If the cursor is positioned beyond the last non-blank character of the
line, the line below will be appended beginning at the current cursor
position.
If the line below the cursor line is blank, the blank line will be
deleted.
* SplitLine <Alt S>
This command will split the current line at the cursor position. The
cursor position will not change.
* Return <Enter>
Before reading the explanation of the Return command, it may be
helpful to review the discussion of Insert mode in the "Modes" section
in this chapter.
If the editor is in Insert mode, this command performs like the
SplitLine command; that is, all text on and to the right of the cursor
on the cursor line will be deleted and inserted on a new line
immediately below the cursor line. The cursor, however, will be
placed on the new line.
If the editor is not in Insert mode, this command will simply place
the cursor at the beginning of the line below the cursor line. No
text will be affected.
If the editor is in AutoIndent mode, the cursor will be placed at the
left margin instead of at the beginning of the line.
+QEdit Tip:-------------------------------------------------+
| QEdit can be configured so that the Return command does |
| not split lines in Insert mode. Refer to the "Advanced |
| Options" section of Chapter 2 for more information. |
+-----------------------------------------------------------+
* Cut <Grey ->, Paste <Grey *>
Refer to the "Block Commands" section in this chapter for a complete
explanation of these commands. The commands are included here
because, if desired, the User can configure QEdit so that these
commands act on the current cursor line in the same manner in which
they act on Blocks. For more information on how to configure this
option, refer to the "Advanced Options" section of Chapter 2.
* ShiftLeft <Shift F7>, ShiftRight <Shift F8>
Refer to the "Block Commands" section in this chapter for a complete
explanation of these commands. The commands are included here
because, if there is no marked Block in the text, these commands will
act on the current cursor line.
Deleting And Undeleting Text
* Backspace <Backspace>, DelLtWord <Ctrl Backspace>
If Insert mode is ON, the Backspace command deletes the character to
the left of the cursor. The text to the right of the cursor is pulled
behind the cursor as it moves to the left. If the cursor is in column
one and you enter Backspace, the cursor line is appended to the line
immediately above.
If Insert mode is OFF, the Backspace command works the same as above
except the text to the right of the cursor is not pulled behind the
cursor as it moves left.
The DelLtWord command is a backspace for "words". It works just like
the Backspace command, except that it deletes all characters from the
cursor to the beginning of the previous word.
* DelCh <Del>, DelRtWord <Ctrl T>
DelCh will delete the character at the cursor position and pull the
text to the right of the cursor, one column to the left.
If the cursor position is to the right of the last non-blank character
on the cursor line, the line immediately below will be appended to the
cursor line.
The DelRtWord command is a character delete for "words". It works
just like the DelCh command, except that it deletes all characters
from the cursor to the beginning of the following word.
* DelToEol <F6>
This command deletes the character at the cursor position and all text
to the right of the cursor on the current cursor line. The cursor
position does not change.
* DelLine <Alt D>
This command deletes the current cursor line from the text. All text
below the deleted line is shifted up one line.
* UndoCursorline <Ctrl QL>
This command allows you to reverse any changes you have made to the
cursor line. This can be helpful if you accidentally delete or change
part of a line, or you just change your mind and want the cursor line
back the way it was. This command must be issued before the cursor is
moved from the current cursor line and before any file or window
commands are entered. Changes made using the FindReplace command
cannot be reversed with this command.
* UnKill <Ctrl U>
This command allows you to retrieve text that has been deleted by the
DeleteBlock, DelLine, DelRtWord, or DelToEol commands. Refer to "The
Kill Buffer - A Safety Net" section in this chapter for a complete
explanation of the use of this command.
Changing Case
* Upper <Alt 1>
This command changes the current character to its upper-case
equivalent. If the cursor is in a Block when invoked, all characters
in the Block are upper-cased.
* Lower <Alt 2>
This command changes the current character to its lower-case
equivalent. If the cursor is in a Block when invoked, all characters
in the Block are lower-cased.
* Flip <Alt 3>
This command flips the case of the current character. If the cursor
is in a Block when invoked, all characters in the Block are flipped.
Sorting
QEdit allows you to sort a range of lines, using a column Block as the
key upon which the sort is based. In order to use the Sort feature,
mark a column Block indicating the key on which to sort, and then press
<Shift F3>.
The Sort can be configured (either interactively or by using the
configuration program, QCONFIG) to ignore or respect case, and to sort
in ascending or descending order.
* Sort <Shift F3> or <Esc><B><S>
Sorts all the lines spanned by a column Block, using the column
Block as the sort key.
* ToggleSortCaseInSensitive <Esc><B><I>
Toggles sort case sensitivity ON or OFF. Set this option ON to have
the Sort command ignore the case of characters when sorting; set this
option OFF to have the Sort command respect upper/lower case.
* ToggleSortDescending <Esc><B><N>
Toggles the sort order between ascending and descending. Set this
option OFF to sort in ascending order; set this option ON to sort in
descending order.
The Kill Buffer - A Safety Net
------------------------------
QEdit maintains a temporary storage area for deleted text. This
provides the User a safeguard against incorrectly or inadvertently
deleting text. This recovery mechanism is automatically in effect when
QEdit is running. No action is required from the User until there is a
need to recover deleted text.
The temporary storage area is called the Kill Buffer. QEdit will place
into the Kill Buffer text which has been deleted by these commands:
DeleteBlock <Alt G>
DelLine <Alt D>
DelRtWord <Ctrl T>
DelToEol <F6>
To understand how the Kill Buffer works and how text is recovered from
the Kill Buffer, refer to the illustration below.
The Kill Buffer
Entry Command
Number Entered Buffer Contents top
+-------+------------+--------------------------------+
| 4 | DelToEol | part of this line was deleted. |
+-------+------------+--------------------------------+
| 3 | DelRtWord | word (1 word deleted) |
+-------+------------+--------------------------------+
| 2 | DelLine | This entire line was deleted. |
+-------+------------+--------------------------------+
| 1 | DelLine | This entire line was deleted. |
+-------+------------+--------------------------------+
| empty | | |
+-------+------------+--------------------------------+
| empty | | |
+-------+------------+--------------------------------+
bottom
Each time one of the text deletion commands is used, a new entry is made
in the Kill Buffer. In the above example, four deletion commands have
been issued. The text from these four commands has been stored in the
Kill Buffer from top to bottom. In other words, when the DelToEol
command was issued (entry #4), the first three entries were pushed
toward the bottom of the Kill Buffer and the newly deleted text was
entered at the top.
In the example, the Kill Buffer has enough room for six entries. When a
seventh entry is made, the oldest entry, or entry number one, will be
discarded from the Kill Buffer. Once discarded from the Kill Buffer,
that text can no longer be recovered.
To recover deleted text, the UnKill <Ctrl U> command is used. Each time
the UnKill command is issued the most recent entry (the "top" entry of
the Kill Buffer) is retrieved and restored to the file. This entry is
then deleted from the Kill Buffer, and all remaining entries move toward
the top of the buffer by one position. In the example, the first time
the UnKill command is issued, entry #4 will be recovered. Next, entry
#3 will be recovered, and so on. Thus, recovering deleted text follows
the rule of LIFO (last in, first out). The last entry of deleted text
will be the first one recovered and the first entry of deleted text will
be the last one recovered.
Here are some additional items of which to be aware regarding the Kill
Buffer and its uses.
* A separate Kill Buffer is maintained for each file loaded into QEdit.
The Kill Buffer for each file exists only as long as the file is
loaded.
* The default size of the Kill Buffer is 30 entries. This may be
changed using the QEdit configuration program. Refer to the "General
Options" section of Chapter 2 for more information.
* The text deleted using the DelLine, DelRtWord, and DelToEol commands
will take up one entry in the Kill Buffer each time the commands are
executed. The text deleted using the DeleteBlock command will take up
as many entries as there are lines in the Block.
It is important to note that regardless of how large the Kill Buffer
is configured to be, it may be possible to mark and delete a Block in
the file which is larger than the buffer. If this situation arises,
QEdit will save the deleted text in the Kill Buffer from the bottom
up. For example, if a marked Block is 200 lines long and five lines
too large for the Kill Buffer, then the top five lines of the Block
will not be loaded into the Kill Buffer.
* When issuing the UnKill command to recover deleted text, deleted lines
will be inserted immediately before the current cursor line, and
deleted words will be inserted immediately before the current cursor
position.
MACROS
----------------------------------------------------------------------
QEdit provides a helpful facility for creating macros, allowing you to
simplify and automate editing tasks and to more fully customize the
editor. Macros can be created as simple Keyboard Macros, by having the
editor record a series of keystrokes as they are entered from the
keyboard. More versatile macros can be created by assigning a series of
editing and macro commands to specific keys within QEdit's Keyboard
Definition file (QCONFIG.DAT). To create even more complex macros, QMac
(QEdit's external macro facility) can be used.
For more information about creating and using macros within QEdit, refer
to Chapter 3, "QEdit Macro Reference."
PRINTING
----------------------------------------------------------------------
QEdit allows you to print either your entire current file or a portion
of the current file.
To print the entire current file, enter the PrintAll <Alt P><A> command.
The entire current file is printed.
To print a portion of the current file, first mark the portion of the
file to be printed using the Block-marking commands. (Refer to the
"Block Commands" section in this chapter.) Next, enter the PrintBlock
<Alt P><B> command. Only the marked Block portion of the file is
printed.
Print Formatting
----------------
QEdit contains various commands to make printing easier and more useful.
There are commands to set the left margin, the top margin, and the
bottom margin; to specify the number of lines per page; to indicate the
output destination; to select single-, double-, or triple-spacing; and
to indicate whether you want to print line numbers.
* SetPrintLeftMargin <Alt P><L> or <Esc><P><L>
This command specifies the number of blank spaces to be used as a left
margin. Valid values are zero to 200.
* SetPrintPageSize <Alt P><P> or <Esc><P><P>
This command specifies the number of lines to be printed on each page.
Valid values are zero to 200. A value of zero instructs QEdit to
print continuously without page breaks.
* SetPrintTopMargin <Alt P><T> or <Esc><P><T>
This command specifies the number of lines printed at the top of each
page before the text is printed. Valid values are zero to 200. If
the print page size is zero, the editor treats the document as one
page and the top margin is ignored for all pages except the first
printed page.
* SetPrintBotMargin <Alt P><O> or <Esc><P><O>
This command specifies the number of lines left blank at the bottom of
each page. Valid values are zero to 200. If the print page size is
zero, this command has no effect.
* SetPrintDevice <Alt P><D> or <Esc><P><D>
This command identifies the print output destination. Choices are
PRN, LPT1, LPT2, LPT3, or any valid DOS filename (for printing to
disk).
* SetPrintLineSpacing <Alt P><S> or <Esc><P><S>
This command indicates the number of lines to advance for each new
line of text to be printed. Valid values are 1 to 200. A value of 1
signifies single-spaced output, 2 signifies double-spaced output, etc.
* TogglePrintLineNumbers <Alt P><N> or <Esc><P><N>
This command determines whether line numbers are printed. Set this
option ON to have file line numbers printed at the beginning of each
line; set this option OFF if you do not want line numbers added to the
print output.
* TogglePrintPause <Alt P><U> or <Esc><P><U>
This command determines whether the editor suspends printing between
pages.
To have QEdit pause after each page is sent to the printer, set this
option ON. (For this option to operate effectively, the print page
size must be set to an appropriate value greater than 0. Refer to
SetPrintPageSize in this section.) The editor then requires a
keypress after every page is printed before continuing. This allows
you to manually feed paper to the printer, one sheet at a time.
Set this option OFF for the editor to automatically send each
subsequent page to the printer without pausing.
Formfeeds
---------
QEdit automatically sends a formfeed character (ASCII 12) to the printer
at the end of each page. A page is determined according to the value of
SetPrintPageSize (refer to the previous section).
At times you may find it desirable to insert formfeed characters
directly into your text. For example, you want the page size for your
text to be 55 lines, which you have set using the SetPrintPageSize
command, but there is a 15-line table in the text that should appear on
a page by itself. To accomplish this, simply insert formfeed characters
immediately before and after the table.
To insert a formfeed character in the text, enter the Literal <Ctrl P>
command followed by a formfeed <Ctrl L> character. Alternatively, you
can insert a formfeed character by holding down the <Alt> key and typing
"12" on the alternate numeric keypad. (You can also use the built-in
ASCII-chart feature to insert a formfeed character. Refer to the
AsciiChart command in the section "Adding Text" of this chapter.) If you
need to insert formfeed characters into your text repeatedly, you may
want to use a macro. An example of a macro to insert formfeed
characters can be found in the "Example of a Keyboard Macro" section of
Chapter 3.
It is also possible, from within QEdit, to send a formfeed character
directly to the printer, causing the printer to eject a page. To do
this, simply execute the PrintEject <Alt P><F> command.
THE SHELL AND DOS COMMANDS
----------------------------------------------------------------------
(For the following discussion, "Dos" is a QEdit command, while "DOS"
refers to the computer's operating system.)
QEdit provides two very helpful commands that allow you to interact with
DOS from within the editor. The commands, Shell and Dos, allow you to
perform most functions that you would normally execute from the DOS
command line, then return you to your original position in the editor.
QEdit also has an option which frees up memory when executing the Shell
and Dos commands. For details, see "Swapping, [QE] Shell Indicator"
later in this section.
* Shell <F9>
This command should be used when executing multiple DOS commands. Upon
executing the Shell command, control is passed to DOS. The DOS prompt
appears on the screen, just as if no other programs were running. You
may now enter most DOS commands. (Some exceptions are noted below.)
Once you have entered all the desired DOS commands, simply type "exit"
and press <Enter>, and control passes back to QEdit. You are then
positioned in the file exactly where you were when the Shell command
was executed.
* Dos <Alt F9>
This command should be used when executing a single DOS command. Upon
executing this command, QEdit prompts with:
+-----------------------------------------------------------+
|Execute what: |
| |
+-----------------------------------------------------------+
You may now enter almost any DOS command. (Some exceptions are noted
below.) Once the DOS command has completed, pressing any key causes
control to pass back to QEdit.
You should not execute any TSR programs (programs that terminate but
remain resident in your computer) from the Shell or Dos commands. For
example, the DOS PRINT and GRAPHICS commands are TSR programs.
If you mistakenly execute a TSR program from QEdit's Shell or Dos
command, the computer's memory allocation scheme will probably become
fragmented, and as a result, QEdit's available memory may become
severely limited. You should save your files, terminate QEdit, and then
reboot the computer.
Swapping, [QE] Shell Indicator
------------------------------
The QEdit Dos and Shell commands can optionally swap QEdit out to disk
or expanded memory leaving only a 2K kernel in memory. This allows much
more memory for running memory-hungry programs (such as compilers) from
within QEdit. You can set this option by default using the configuration
program (Advanced Options), or you can toggle it ON and OFF using the
ToggleSwap command.
While in a shell with swapping ON, QEdit will maintain a file with a
".SWP" file extension in your root directory. It is very important that
you do not delete this file while in the shell.
Once in the shell, QEdit will optionally append "[QE]" to the DOS prompt
string, provided that:
1) You have defined the prompt environment variable.
2) There is enough space left in the environment.
3) You have set the "Change DOS PROMPT during a Shell" option to [Y]es
via the configuration program. (For more information, refer to the
"Advanced Options" section of Chapter 2.)
If you have NOT defined the prompt environment variable, then we suggest
you do so. It is helpful with DOS command line operations in general.
A suggested prompt is (this should go in your AUTOEXEC.BAT file):
set prompt=$p $t $g
If you do have a prompt string defined, but you do not get the "[QE]"
prompt in the QEdit shell, add the following to your AUTOEXEC.BAT:
set x=x
WORD-PROCESSING COMMANDS
----------------------------------------------------------------------
QEdit has all the features you need to do basic word processing. In
addition to the commands which enable you to view and edit your text
(discussed in previous sections), QEdit provides word-wrapping,
paragraph-reformatting capabilities, and a line-centering command.
QEdit also contains commands for changing case and for filling a Block.
Refer to the sections in this chapter on "Changing Case" and
"Manipulating Blocks Directly," respectively, for more information on
these two functions.
* The Right Margin
To benefit from the word-wrap and paragraph-reformatting features of
QEdit, an appropriate right margin must first be set. The default
setting is column 72. This may be changed using the configuration
program. (Refer to the "General Options" section of Chapter 2 for
instructions on how to change the right margin setting.) The value
of the right margin is used each time the editor is initiated.
QEdit provides the ability to change the right margin setting
temporarily while the editor is running without affecting the
permanent setting. To change the right margin setting temporarily,
execute the SetRmargin <Ctrl OR> command. QEdit prompts with:
+------------------------------------+
|Right margin [1..1000]: |
| |
+------------------------------------+
Enter the desired column number for the right margin. The new setting
is in effect until the SetRmargin command is executed again or the
next time the editor is initiated. WordWrap mode (see below) is
automatically switched ON whenever the right margin is set using this
command.
* WordWrap
WordWrap is a QEdit mode which can be switched ON and OFF using the
ToggleWordwrap <Ctrl OW> command. When switched ON, this mode causes
the cursor to advance automatically to the next line as text is
entered.
The cursor advances to the next line based on the right margin, which
is set using the SetRmargin <Ctrl OR> command (see above). Once the
cursor reaches the right margin and a non-blank character is typed,
the cursor, along with the word (that is, any continuous string of
non-blank characters) currently being typed, will be advanced to the
next line.
The cursor does not advance to the next line if the current line does
not contain at least one space.
* Paragraph Reformatting
The WrapPara <Alt B> command reformats text from the current cursor
position to the next blank line or the end of the file.
The right-hand side of the text is reformatted based on the right
margin. The right margin is set using the SetRmargin <Ctrl OR>
command (see above).
The left-hand side of the text is reformatted based on AutoIndent
mode. If AutoIndent mode is switched OFF, the left margin is column
one. If AutoIndent mode is switched ON, the first non-blank character
on the line immediately AFTER the cursor line is used for the left
margin. Using the line AFTER the cursor line allows for special
indentation for the first line of a paragraph. (For more information
on AutoIndent mode, refer to the "Modes" section of this chapter.)
* CenterLine <Ctrl OT>
Centers the current cursor line based on column 1 and the right
margin. Use the SetRmargin <Ctrl OR> command to change the right
margin (see above).
With the cursor inside of a line Block, you can execute this command
to center several lines at once. With the cursor inside of a column
Block, you can center lines based on the left and right Block
boundaries.
MODES
----------------------------------------------------------------------
QEdit uses modes to affect the operation of the editor. In general, a
QEdit mode is a state during which certain commands or keystrokes behave
differently. Following is an explanation of the QEdit modes.
* Insert mode
Insert mode can be switched ON and OFF by pressing the <Ins> key. When
Insert mode is ON, an "I" appears on the StatusLine. The following
table describes the commands and keystrokes which are affected by
Insert mode.
Command/
Keystroke Insert ON Insert OFF
----------- ---------------------- ----------------------
Characters, Shifts text to right Overwrites existing
Space of cursor, one column text.
to the right.
Backspace Deletes character/word Deletes character/word
to left of cursor. Text to left of cursor. Text
to right of cursor to right of cursor does
shifts left one column. not shift.
Return Splits line at cursor Does not split line.
position. Cursor moves Cursor moves to next
to next line. line.
TabLt, Tabs cursor and shifts Tabs cursor only.
TabRt text same number of
positions.
* AutoIndent mode
AutoIndent mode is switched ON and OFF using the ToggleIndent <Ctrl
QI> command. This mode, when ON, positions the cursor at the current
left margin (This is not the same as the print left margin.) whenever
the <Enter> key is pressed. The current left margin is determined by
the first non-blank character on the immediately preceding line. When
AutoIndent mode is ON, an "A" appears on the StatusLine. The
following table describes the commands and keystrokes which are
affected by AutoIndent mode.
Command/
Keystroke AutoIndent ON AutoIndent OFF
--------- -------------------------- ------------------------
Return Cursor positioned below Cursor positioned at
first non-blank character column one.
of previous line.
WrapPara When reformatting, the left A left margin of zero is
margin is determined from used when reformatting.
the first non-blank
character on the line
immediately following the
cursor line.
* C mode
This mode is specifically for "C" language programming. It is
switched ON and OFF using the configuration program. (Refer to the
"General Options" section of Chapter 2 for information on switching C
mode ON and OFF.) C mode is only in effect when AutoIndent mode is
also ON.
C mode, when switched ON, affects files with a ".c", ".cpp", ".cxx",
".h", ".hpp", or ".hxx", file extension. When the current cursor line
contains a "{" and the <Enter> key is pressed, QEdit issues a normal
Return followed by a TabRt command. Additionally, when a "}"
character is entered, QEdit first issues a TabLt command and then
enters the "}" character.
* WordWrap mode
WordWrap mode is switched ON and OFF using the ToggleWordwrap <Ctrl
OW> command. When switched ON, this mode causes the cursor to advance
to the next line automatically as text is entered.
The cursor advances to the next line based on the right margin, which
is set using the SetRmargin <Ctrl OR> command. Once the cursor
reaches the right margin and a non-blank character is typed, the
cursor, along with the word (i.e., any continuous string of non-blank
characters) currently being typed, is advanced to the next line.
The cursor does not advance to the next line if the current line does
not contain at least one space. When WordWrap mode is ON, a "W"
appears on the StatusLine.
* BackUp mode
BackUp mode is switched ON and OFF using the ToggleBakups <Esc><O><B>
command. When BackUp Mode is switched ON, QEdit creates a backup copy
(using the .bak file extension) for any file that is edited and saved.
The backup copy of the file is an image of the file before it was last
edited and saved. When BackUp mode is OFF, no backup files are
created.
* MacroRecord mode
MacroRecord mode is switched ON and OFF using the MacroRecord <Ctrl M>
command. This mode, when ON, records and assigns a series of commands
and keystrokes to a designated key (or scrap area). This creates a
Keyboard Macro. For a complete explanation of macros and their use,
refer to Chapter 3, "QEdit Macro Reference." When MacroRecord mode is
ON, an "R" appears on the StatusLine.
* EnterMatching mode
EnterMatching mode is switched ON and OFF using the
ToggleEnterMatching <Esc><O><E> command. If switched ON, QEdit
automatically inserts into the text a corresponding ), ], or "
character each time a (, [, or " character, respectively, is entered.
* Box Drawing mode
Box Drawing mode is switched ON and OFF using the ToggleBoxDraw <Shift
F1> command. If switched ON, the cursor movement keys (up, down,
right, left) can be used to "draw" lines in the text. This can be
very useful for creating charts and tables. The ToggleBoxType command
allows you to select different line drawing styles. When Box Drawing
mode is ON, a "B" appears on the StatusLine.
* Fixed Tabs mode
Fixed Tabs mode is selected using the SetTabType <Esc><O><Y> command.
If selected, the TabRt and TabLt commands move the cursor to the next
(or previous) tabstop as defined by the value of the cursor tab width
(set by the SetCtabwidth <Esc><O><C> command).
* Smart Tabs mode
Smart Tabs mode is selected using the SetTabType <Esc><O><Y> command.
If selected, the TabRt and TabLt commands place the cursor beneath the
first character of the next (or previous) word on the first nonblank
line preceding the current cursor line.
* Variable Tabs mode
Variable Tabs mode is selected using the SetTabType <Esc><O><Y>
command. If selected, the TabRt and TabLt commands move the cursor to
the next (or previous) tabstop as defined by the variable tab stops
(set by the SetVarTabStops <Esc><O><V> command).
Note that all of the supported tab modes may be set via the Tab type
menu (<Esc><O><Y>).
* Physical Tab Expansion mode
Physical Tab Expansion mode is switched ON and OFF using the
ToggleTabsExpand <Alt V> command. If switched ON, physical tab
characters (ASCII 9) found in a file are expanded into spaces
according to the Physical Tab Width set in the configuration program.
(Refer to the "Tab Settings" section of Chapter 2.) If switched OFF,
physical tabs are displayed on the screen and a physical tab character
is placed in the text each time the TabRt command is executed.
+QEdit Tip:-------------------------------------------------+
| In general, Physical Tab Expansion mode should always be |
| set ON. You would only want to set it OFF if you are |
| editing binary or data files that contain or require |
| physical tabs. |
+-----------------------------------------------------------+
* Tabs Out mode
Tabs Out mode is switched ON and OFF using the ToggleTabsOut <Alt I>
command. If switched ON, continuous spaces in a line of text are
replaced with physical tabs (ASCII 9) according to the Physical Tab
Width set in the configuration program. (Refer to the "Tab Settings"
section of Chapter 2.) Spaces falling between single or double quotes
are not replaced.
CHAPTER 2. CUSTOMIZING QEDIT
======================================================================
QEdit provides a configuration capability that allows the User to
customize the editor to suit individual preferences. There are a wide
range of options which may be customized including key assignments,
colors, tab settings, and printer options.
Of course, customizing QEdit is not a requirement. If you like the
editor exactly the way it is, it is not necessary to use the
configuration program.
The configuration program is QCONFIG.EXE and is included on the
distribution diskette, along with the other QEdit files. The
configuration program customizes QEdit by actually modifying the editor
program itself - Q.EXE.
+QEdit Tip:-------------------------------------------------+
| Before running the configuration program, make a backup |
| copy of the original QEdit distribution disk. |
+-----------------------------------------------------------+
INITIATING THE CONFIGURATION PROGRAM
----------------------------------------------------------------------
To initiate the configuration program, type "qconfig" from the DOS
command line, and press <Enter>. The program displays a prompt to
request the name of the editor program to customize. Following is the
prompt that is issued by the configuration program for QEdit Advanced.
Configuration program for: QEdit Advanced v3.0
Enter program name to config, <CR> for Q.EXE :
Simply press <Enter>, unless you have previously renamed the editor, or
if the editor is located in another directory.
If you have renamed the editor, enter the appropriate filename and press
<Enter>. If it is located in another directory, enter the full pathname
and press <Enter>.
If the file to be customized could not be located on disk, the error
message "File not found" is displayed. Check the editor's filename
and/or path for accuracy.
If the version numbers of the editor and the configuration program are
not the same, the error message "Configuration area not found" is
displayed. Try reloading the QEdit software from the distribution disk
(in particular, Q.EXE and QCONFIG.EXE).
THE CONFIGURATION MENU
----------------------------------------------------------------------
The configuration program displays the following menu from which to
select the desired functions for customization.
+------------------------------------------------------------+
| Configuration choices. |
| Choose One of the Following by pressing the indicated Key: |
| |
| Advanced options |
| Colors/screen |
| General options |
| Help install |
| Keys |
| Printer options |
| Quit |
| Save changes and quit |
| Tab settings |
+------------------------------------------------------------+
Following is a brief explanation of these menu items. They are
discussed in detail later in this chapter.
* Advanced options
Contains a variety of configurable options, including those related
to video display, DOS memory, and editor menus.
* Colors/screen
Allows you to change colors of various display items and to specify
numerous other editing display options.
* General options
A miscellaneous category of options.
* Help install
Allows you to install your own Help Screen.
* Keys
Allows you to reassign editor commands to different keys.
* Printer options
Allows you to set options for printing text, such as page size.
* Quit
Terminates the program. You are first prompted to save or not save
changes.
* Save changes and quit
Terminates the program, unconditionally saving your changes.
* Tab settings
Allows you to set various tab-related options, including the
physical and cursor tab widths.
To make a selection from the menu, type the first letter of the desired
menu item. You are prompted for a response to each option within the
category. Each configuration option is displayed along with its current
value. (The Keys and Help install categories, however, work a little
differently and simply request a filename.)
For each option displayed, you may enter a new value. If you do not
wish to change the current value, simply press <Enter>. After you have
reviewed all options in a category, you are returned to the main
configuration menu where you can select another category.
Once you have completed customizing, you may save all the changes you
have made either by simply typing "S" at the main menu prompt; or by
typing "Q" at the main menu prompt, and then typing "Y" at the prompt,
"Save Changes (Y/N)?". Your changes are made permanent (that is,
effective the next time you execute the editor) by writing them to the
editor program itself (Q.EXE). The configuration program then
terminates.
If you decide that you do not want to save your changes, type "Q" at the
main menu prompt, then type "N" at the prompt, "Save Changes (Y/N)?". No
changes are saved, and the configuration program terminates.
ADVANCED OPTIONS
----------------------------------------------------------------------
This section contains a list of the Advanced Options which can be
customized using the configuration program. The configuration program
prompt message, the default value, and a description are given for each
option.
* Test for presence of enhanced keyboard (Y/N)? [N] :
If your system has an enhanced (101-key) keyboard, set this option
to <Y> for QEdit to recognize the additional keys such as F11, F12,
and the grey cursor keys.
+QEdit Tip:-------------------------------------------------+
| Many TSRs, including mouse drivers, do not properly |
| recognize the enhanced keyboard. If you are using a TSR |
| and it is not working with QEdit, try setting this option |
| to <N>. |
+-----------------------------------------------------------+
* Swap to Expanded memory or DISK on the Dos and Shell commands (Y/N)? [Y] :
Select <Y> if you want QEdit to swap itself out of DOS memory and to
expanded memory or disk whenever the Dos or Shell commands are
executed. This will leave a small 2K kernel of QEdit in DOS memory,
freeing up the rest of DOS memory for running other applications,
such as compilers or spreadsheets, out of the Dos or Shell commands.
* Drive for disk swapping on the Dos/Shell commands *=default-drive [A..Z] [C] :
If you selected <Y> for the previous option, then specify here the
disk drive designation to be used for swapping. Enter an asterisk
("*") if you want QEdit to default to your current drive for
swapping.
* Should QEdit change the cursor size (Y/N)? [Y] :
By default, QEdit uses a small cursor when Insert mode is OFF and a
medium cursor when Insert mode is ON. Select <N> if you do not want
QEdit to change the cursor size.
* Do you want a large flashing cursor (Y/N)? [N] :
If you want to use a large flashing block cursor, set this option to
<Y>. This option is great for laptop users.
* Size of cursor in Insert mode [0..7] [4] :
Determines the size of the cursor when Insert mode is ON. A value
of 0 indicates that no cursor indication is to be displayed. Values
1 to 7 indicate increasingly larger flashing cursor sizes.
* Size of cursor in overwrite mode [0..7] [1] :
Determines the size of the cursor when overwrite mode is ON. A
value of 0 indicates that no cursor indication is to be displayed.
Values 1 to 7 indicate increasingly larger flashing cursor sizes.
* Get num rows on screen from BIOS data area (100% IBM PC only)(Y/N)? [N] :
FOR NON EGA/VGA SYSTEMS ONLY. Set this option to <Y> if you want
QEdit to automatically detect the number of rows on your screen.
Setting this option to <Y>, to automatically detect the number of
rows on your screen, only works if you have an IBM PC-AT or 100%
compatible. For example, setting this option to <Y> does NOT work
on AT&T 6300s.
* Number of rows on screen (NOT NEEDED with EGA/VGA) [25..255] [25] :
FOR NON EGA/VGA SYSTEMS ONLY. If you set the previous option to
<N>, then you must provide the number of rows on your screen here.
You should set this option to 25 unless you have a special card and
monitor (such as a Genius Video System) that allow you to display
more than 25 rows.
* Do you want the Return command to split lines in Insert mode (Y/N)? [Y] :
Normally, the Return command splits the current line at the cursor
when executed with Insert mode ON. This means that the portion of
the line following the cursor is inserted on a new line. If Insert
mode is OFF, the Return command simply places the cursor at the
beginning of the next line.
If you select <N> for this option, the Return command always acts as
if Insert mode is OFF. Return moves the cursor to the beginning of
the next line with no effect on the text.
* Should Cut and Copy use current line if no block marked (Y/N)? [N] :
If you enter <Y> for this option, the current cursor line is used
when you execute the Cut or Copy command and no Block is marked in
the current file.
* Do you want the Escape command to invoke the menus (Y/N)? [Y] :
By default, the Escape command displays the pull-down menu, when
executed outside of the menu or any QEdit prompts. If you do NOT
want the Escape command to do this, select <N> for this option.
* Should the editor restore the starting drive/dir on program exit (Y/N)? [Y] :
Set this option to <Y> if you want to return to the original DOS
drive and directory on program exit regardless of which drives and
directories you have accessed with the QEdit directory picker or the
Dos or Shell commands.
* Should the editor change the DOS PROMPT during a shell (Y/N)? [N] :
Set this option to <Y> if you want the following to be appended to
the DOS prompt during a QEdit Shell: [QE].
* Should TabRt/TabLt be allowed to shift an entire block (Y/N)? [N] :
Set this option to <Y> if you want the TabRt and TabLt commands to
shift entire marked Blocks when the cursor is within the marked
Block.
* Date format: 1=MM-DD-YY, 2=DD-MM-YY, 3=YY-MM-DD [1] :
Determines the date format used by the InsertDate command. The date
string consists of a three-character abbreviation for the day of the
week, followed by the numerical date of the month. The order of the
elements of the date of the month can be selected from three
options: select <1> for month, followed by day of the month,
followed by 2-digit year; select <2> for day of the month, followed
by month, followed by 2-digit year; select <3> for 2-digit year,
followed by month, followed by day of the month.
* Character to use to separate the elements of the date [-] :
Determines the separator character used by the InsertDate command.
Select the character to be used to separate the day, month, and year
elements of the date.
* Time format: 1=24-hour, 2=12-hour [1] :
Determines the time format used by the InsertTime command. Select
<1> for 24-hour time format; select <2> for 12-hour time format.
* Character to use to separate the elements of the time [:] :
Determines the separator character used by the InsertTime command.
Select the character to be used to separate the hours and minutes
(and seconds for 24-hour format) elements of the time.
COLORS/SCREEN OPTIONS
----------------------------------------------------------------------
This section contains a list of the Screen and Screen Color Options
which can be customized using the configuration program. The
configuration program prompt message, the default value, and a
description are given for each option.
* StatusLine position: "T" for top, "B" for bottom [T] :
Indicates whether the StatusLine is to be positioned at the top line
or the bottom line of the screen.
* StatusLine fill character [ ] :
This character is used to "break up" the information on the editor's
StatusLine. The default is the space character. For example, if
the dash character is specified, the StatusLine would look like
this:
+--------------------------------------------------------------+
|L 15-- C 15---IAW-R-B--411K-----*c:\qedit\qedit.doc-----------|
+--------------------------------------------------------------+
* Display hex/decimal values of current character on StatusLine (Y/N)? [N] :
Shows the hexadecimal and decimal values of the current character at
the right-hand edge of the StatusLine.
* Do you want the display "boxed" (Y/N)? [N] :
Indicates whether the editing screen is to be completely enclosed in
a box.
* Do you want the original screen restored upon termination (Y/N)? [Y] :
Determines whether QEdit is to restore the original screen upon
exiting the program. Be aware that setting this option to <Y>
causes the editor to require an additional 4K of memory; however,
this can be very handy after long editing sessions to see what you
were doing before you started.
* Do you want "snow" checking (Y/N)? [N] :
Determines whether QEdit should slow down screen updating to
eliminate "snow" (a sparkling appearance on the screen that results
from updating the screen too quickly).
If this option is set to <Y>, and QEdit determines that your system
has a Color/Graphics Adapter card (CGA), the editor does not write
to the screen at full speed, in order to avoid "snow". If you have
a CGA card that does not create snow effects, set this option to <N>
so that QEdit updates the screen as quickly as possible.
If you have a VGA, EGA, COMPAQ, ZENITH, or other color adapter that
allows full speed screen updating without "snow", then set this
option to <N>.
This option has no effect on monochrome and true EGA/VGA cards.
* Number of columns to scroll horizontally for screen lt/rt commands
[1..400] [1] :
Specifies the number of columns that QEdit should scroll when you
execute the ScreenLeft or ScreenRight commands.
* Startup video mode: 0=current, 1=25lines, 2=28lines, 3=43/50lines [0] :
Determines whether QEdit sets an initial video mode upon startup.
0: Use the current video mode
1: Set the monitor to 25-line mode
2: Set the monitor to 28-line mode (VGA only)
3: Set the monitor to 43/50-line mode (EGA = 43, VGA = 50)
* Startup attribute set: 0=AutoDetect, 1=Monochrome, 2=Color [0] :
Determines whether QEdit uses color or monochrome attributes for the
screen display.
* Do you want to configure the mono attribute set (Y/N)? [N] :
Select <Y> if you wish to specify the attributes to use for the
monochrome attribute set.
* Do you want to configure the color attribute set (Y/N)? [N] :
Select <Y> if you wish to specify the attributes to use for the
color attribute set. (This option is skipped if you select <Y> for
the previous option.)
Enter a number, in response to each option, based on the color in which
the number appears on the chart.
If you have a monochrome screen, many of the values in the chart will
appear to be the same color. However, you still have the options of
normal, highlighted, underlined, and reverse video. If you have a color
monitor, you can take advantage of a wider array of options. (The
default monochrome setting is shown in the text of each prompt message
below. The default color setting is shown to the right of the prompt
message.)
* Attribute for Blocked Text [112]: Default Color Setting: [120]
The color used for marked Blocks.
* Attribute for Error msgs [112]: Default Color Setting: [15]
The color used for warning and error messages.
* Attribute for Text Area [7]: Default Color Setting: [27]
The color used for normal text (the editing screen).
* Attribute for StatusLine [112]: Default Color Setting: [112]
The color used for the StatusLine.
* Attribute for Cursor Line [15]: Default Color Setting: [30]
The color used for the cursor line. Reverts to normal when a
Block is marked.
* Attribute for Messages [15]: Default Color Setting: [15]
The color used for QEdit messages.
* Attribute for Hi-lited items [9]: Default Color Setting: [9]
The color used for "found" search strings when using the Find and
FindReplace commands.
* Attribute for EOF line/indicator [15]: Default Color Setting: [15]
The color used for the "End of File" line.
* Attribute for Help Screen [112]: Default Color Setting: [112]
The color used for the Help Screen.
* Attribute for display Box Border [15]: Default Color Setting: [31]
The color used for the border around the editor, if the editing
screen is boxed.
* Attribute for PopUp windows [15]: Default Color Setting: [112]
The color used for the border around the pull-down menus and the
prompt boxes.
* Attribute for Menu items [15]: Default Color Setting: [112]
The color used for items within sub-menus of the pull-down menu.
* Attribute for Selected Menu items [112]: Default Color Setting: [32]
The color used for selected items within the pull-down menus.
GENERAL OPTIONS
----------------------------------------------------------------------
This section contains a list of the General Options which can be
customized using the configuration program. The configuration program
prompt message, the default value, and a description are given for each
option.
* Do you want the DelCh command to join lines if at EOL (Y/N)? [Y] :
Affects the behavior of the DelCh command. Set this option to <N>
if you want the DelCh command to be restricted so that it only works
on the current line. Set this option to <Y> if you want the DelCh
command to work across line breaks. This means that if you issue
DelCh at the end of the line, the following line is joined to the
end of the cursor line (just as if you had issued a JoinLine
command).
* Do you want PQuit, Exit, and File to return to EditFile prompt (Y/N)? [Y] :
If only 1 file is being edited, QEdit can either terminate or ask
for another file to edit whenever the PQuit, Exit, or File commands
are executed. To have QEdit terminate, select <N>.
* Do you want the editor to start in WordWrap mode (Y/N)? [N] :
Determines whether WordWrap mode is initially ON or OFF each time
QEdit is executed. Set this option to <Y> if you want WordWrap mode
to be ON each time QEdit is started; otherwise, set it to <N>. Refer
to the "Word-Processing Commands" section of Chapter 1 for more
information on WordWrap mode.
* Default right margin for WordWrap [1..1000] [72] :
Indicates the default right margin setting to be used each time
QEdit is executed. Set this option to a value from 1 to 1000.
Refer to the "Word-Processing Commands" section of Chapter 1 for
more information.
* Do you want the editor to start in Insert mode (Y/N)? [Y] :
Determines whether Insert mode is initially ON or OFF each time
QEdit is executed. Set this option to <Y> if you want Insert mode
to be ON each time QEdit is started; otherwise, set it to <N>. Refer
to the "Modes" section of Chapter 1 for more information on Insert
mode.
* Do you want the editor to start in AutoIndent mode (Y/N)? [Y] :
Determines whether AutoIndent mode is initially ON or OFF each time
QEdit is executed. Set this option to <Y> if you want AutoIndent
mode to be ON each time QEdit is started; otherwise, set it to <N>.
Refer to the "Modes" section of Chapter 1 for more information on
AutoIndent mode.
* Do you want the editor to use "sticky" AutoIndent (Y/N)? [N] :
Determines whether QEdit searches more than one line backward for a
nonblank line to use for autoindenting. Set this option to <Y> if
you want autoindenting to search back more than one line, if
necessary, to find a nonblank line. AutoIndent mode must be set ON
for this option to work. Refer to the "Modes" section of Chapter 1
for more information on AutoIndent mode.
* Load wildcarded filespecs from the command line (Y/N)? [Y] :
Affects QEdit's behavior when filenames are specified containing
wildcard characters (* or ?), from the DOS command line. Set this
option to <Y> if you want QEdit to load every file that matches the
wildcarded specification. (For example, if you enter "q *.doc",
QEdit loads all files with the extension ".doc"). Set this option
to <N> if you want QEdit to display a pull-down menu list of all the
files which match the wildcarded specification. (You can then
choose the file you want to edit by using the cursor keys to move to
the desired file and then pressing <Enter>.)
* Load wildcarded filespecs from inside the editor (Y/N)? [N] :
Affects QEdit's behavior when filenames are specified containing
wildcard characters (* or ?) within the prompt box for the EditFile
command. Set this option to <Y> if you want QEdit to load every
file that matches the wildcarded specification. (For example, if
you enter "*.doc", QEdit loads all files with the extension ".doc").
Set this option to <N> if you want QEdit to display a pull-down menu
list of all the files which match the wildcarded specification.
(You can then choose the file you want to edit by using the cursor
keys to move to the desired file and then pressing <Enter>.)
* Do you want the editor to start in EnterMatching mode (Y/N)? [N] :
Determines whether EnterMatching mode is initially ON or OFF each
time QEdit is executed. Set this option to <Y> if you want
EnterMatching mode to be ON each time QEdit is started; otherwise,
set it to <N>. Refer to the "Modes" section of Chapter 1 for more
information on EnterMatching mode.
* Use CMODE for .c, .cpp, .cxx, .h, .hpp, and .hxx files (Y/N)? [Y] :
Determines whether C mode is initially ON or OFF each time QEdit is
executed. Set this option to <Y> if you want C mode to be ON each
time QEdit is started; otherwise, set it to <N>. Refer to the
"Modes" section of Chapter 1 for more information on C mode.
* Default number of deleted lines to keep per file [0..300] [30] :
Indicates the number of deleted lines that are saved by QEdit, and
can later be recalled using the UnKill command. For every file that
is loaded in an editing session, this maximum number of lines is
available. Enter a value from 0 to 300. (A value of 0 indicates
that no deleted lines are to be saved.)
* Remove trailing blanks from edited lines (Y/N)? [Y] :
Determines whether QEdit is to remove trailing blanks from each line
of text that is edited. Set this option to <Y> if you want trailing
blanks removed. (For most purposes, this setting is preferable, as
it generally results in smaller files.) Set this option to <N> if
you want spaces at the end of lines to be preserved.
* Terminate files with a Control Z (Y/N)? [N] :
Determines whether QEdit is to add a Control Z to the end of a file
when it is saved to disk. Set this option to <Y> if you want to
have a Control Z added to the end of files; otherwise, set this
option to <N>.
MS/PC-DOS versions 2.0 and above do NOT require an end-of-file
terminator. (The exact size of the file is stored in the
directory.) However, some programs that were directly translated
from their CP/M versions still require the Control-Z end-of-file
marker. If you have one of these programs for which you are
creating text files, you should select <Y> for this option.
* Do you want "backups" of saved files (Y/N)? [Y] :
Determines whether QEdit is to create a backup file (an image of the
file before you did any editing) with the .bak extension each time
you save a file. Set this option to <Y> to have backups created;
otherwise, set this option to <N>.
* Prompt for filename on open window (Y/N)? [N] :
Affects QEdit's behavior when the HorizontalWindow command is
executed. Set this option to <Y> to have QEdit prompt for the name
of the file you want to load into the new window. Set this option
to <N> to have QEdit load the next file in the ring into the new
window. (If only one file is loaded, another window containing the
same file is opened.)
* Close window when a file is quit (Y/N)? [Y] :
Affects QEdit's behavior when more than one window is open on the
screen and a command is executed that discards a file from the
editor. Set this option to <Y> to have QEdit close the window
containing the discarded file. Set this option to <N> to have QEdit
load the next file in the ring into that window.
* Display End Of File marker (Y/N)? [Y] :
Determines whether QEdit displays an indicator line at the end of
the file, in the following format:
<*** End of File ***>
Set this option to <Y> to have the end-of-file indicator line
displayed; set this option to <N> if you do not want this line
displayed.
* Insert line blocks ABOVE the cursor line (Y/N)? [N] :
Determines whether QEdit is to insert line Blocks above or below the
cursor line when the Paste, CopyBlock, or MoveBlock commands are
executed. Set this option to <Y> to have line blocks inserted above
the cursor line; set this option to <N> to have line blocks inserted
below the cursor line.
* Do you want a beep on warning messages and missed searches (Y/N)? [Y]:
Determines whether QEdit sounds the bell on any QEdit warning
message and when there is no match resulting from a Find or
FindReplace operation. If you want the bell to sound, select <Y>;
otherwise, select <N>.
* Default Find options [IWBG] [I]:
Indicates the default search options when using the Find command.
The available default options are: "I" (Ignore case), "W" (Words
only), "B" (Backwards search), and G (Global search). Multiple
options can be specified.
Note that even when these options are not selected as defaults, they
can still be selected from within the editor when the Find command
is executed. For more information on the Find command and the
available Find options, refer to the "Finding Text" section of
Chapter 1.
* Default FindReplace options [IWBNG] []:
Indicates the default search and replace options when using the
FindReplace command. The available default options are: "I" (Ignore
case), "W" (Words only), "B" (Backwards search), "N" (No prompting),
and G (Global search). Multiple options can be specified.
Note that even when these options are not selected as defaults, they
can still be selected from within the editor when the FindReplace
command is executed. For more information on the FindReplace
command and the available FindReplace options, refer to the
"Replacing Text" section of Chapter 1.
* Should Find and Repeat_Find center the found text (Y/N)? [Y]
Affects QEdit's behavior when the Find and RepeatFind commands are
executed. Set this option to <Y> to have the line containing the
found text centered vertically within the current window. Set this
option to <N> to have line containing the found text positioned on
the same row as the current line.
* Default file extension number 1 [.c]:
Specifies the first default file extension. See explanation below.
* Default file extension number 2 [.pas]:
Specifies the second default file extension. See explanation below.
* Default file extension number 3 [.inc]:
Specifies the third default file extension. See explanation below.
* Default file extension number 4 [.asm]:
Specifies the fourth default file extension. See explanation below.
* Default file extension number 5 [.h]:
Specifies the fifth default file extension. See explanation below.
* Default file extension number 6 [.doc]:
Specifies the sixth default file extension. See explanation below.
Six default file extensions are provided to save keystrokes each
time a filename to edit is entered. These file extensions are used
when QEdit is executed with a filename from the command line or when
the EditFile command is entered.
If the filename entered does not end with a period (and does not
include the DOS wildcard characters) and that file does NOT exist as
named, QEdit appends the first default file extension to the name
and tries to load that file. If that file exists, then QEdit loads
it for editing. If it does not exist, QEdit repeats the process
with the other default file extensions. If no matching file is
found, then QEdit creates a new file as originally named.
For each of the six previous options, enter the desired file
extension.
* Default to case-insensitive sort (Y/N)? [N] :
Indicates the default case-sensitivity selection when the Sort
command is executed. Set this option to <Y> to have the Sort
command ignore the case of characters; set this option to <N> to
have the Sort command respect the upper/lower case of characters.
* Default to descending-order sort (Y/N)? [N] :
Indicates the default sort order when the Sort command is executed.
Set the option to <Y> to sort in descending order; set this option
to <N> to sort in ascending order.
THE HELP SCREEN
----------------------------------------------------------------------
QEdit allows you to create a customized one-page Help Screen, which may
be displayed at any time from within the editor by executing the
QuickHelp <F1> command. This section contains instructions for
installing your own Help Screen using the configuration program.
Of course, you may prefer to use the default Help Screen which is
already loaded into QEdit. In that case no action is required.
However, if you want to design and use your own Help Screen, simply
follow these steps:
1. Create an 80 x 25 (80 columns by 25 lines) text file (you can use
QEdit to create this file) and list all of the information that
should appear on the screen when the QuickHelp command is executed.
We suggest that you list less frequently used commands in this file,
while leaving out more familiar commands such as cursor movement and
paging.
2. Run QCONFIG and select option <H> from the configuration menu.
3. At the prompt, enter the name of the Help file just created.
That is all there is to it! Now when you execute QuickHelp from within
QEdit, your customized Help Screen is displayed.
KEYBOARD CONFIGURATION
----------------------------------------------------------------------
QEdit provides the extremely helpful capability of assigning editor
commands (as well as strings of characters) to almost any key you
prefer.
This allows you to assign frequently-used commands to keys which are
most convenient for your use, and even to completely reassign commands
to emulate another text editor or word processor with which you are
already familiar.
By taking a few minutes to review this section, your future text editing
may become significantly more comfortable as a result of customizing
your keyboard to suit your individual preferences.
The Keyboard Definition File
----------------------------
QEdit uses the Keyboard Definition file to customize the keyboard. This
file contains a list of all the keys to which commands may be assigned.
Supplied with QEdit is a Keyboard Definition file called QCONFIG.DAT
which contains the default settings for the keyboard. Other files are
supplied which emulate certain common word processors and editors. The
READ.ME file contains a list of these other emulations.
The Keyboard Definition file consists of a list of configurable keys and
the commands or macros which are assigned to them. The configurable
keys are on the left side of the file, with the commands or macros
assigned to the keys on the right. Blank lines and lines starting with
an asterisk "*" are ignored. The QCONFIG.DAT file, as well as Appendix
C, contains a complete list of configurable keys.
Control keys are specified by a "^". For example:
^f1 or ^F1 specifies Control F1
^c or ^C specifies Control C
Alternate keys are specified by a "@". For example:
@c or @C specifies Alt C
@PgUp specifies Alt PgUp
Shift keys are specified by a "#". For example:
#f1 or #F1 specifies Shift F1
The format of a line in the Keyboard Definition file is simply the
keystroke followed by the command. For example:
f1 QuickHelp
#f5 MakeCtrofScreen
@f2 InsertLine
cursorup CursorUp
^cursorleft WordLeft
@a DropAnchor
^a WordLeft
+QEdit Tip:-------------------------------------------------+
| The configuration program ignores the case of the key |
| name, and ignores the case of the commands and of any |
| underscores that may be embedded in the commands. This |
| means that PGUP, PgUp, and pgup all refer to the same |
| key, and InsertLine, insert_line, and Insert_Line all |
| refer to the same command. |
| |
| Also, the order of the keys does not matter. The |
| configurable keys may be put in any order desired. |
+-----------------------------------------------------------+
There is also a provision for assigning commands or macros to a
"twokey". A twokey consists of two distinct keystrokes, such as <Ctrl
B> immediately followed by <A>. To assign a command or macro to a
twokey, enter both keystrokes of the twokey in the first column
(keystroke column) separated by an underline. For example, to assign
the Exit command to the twokey, <Ctrl F1> <F2>, enter the following into
the Keyboard Definition file:
^f1_f2 Exit
(Note that if you assign a command or macro to a single key, and then
use that same key as the initial key of a twokey sequence, you lose the
twokey assignment. For example, if you assign a command to <Ctrl B>,
you would not be able to use a twokey assignment such as <Ctrl B> <A>.)
To allow you to further customize the editor, multiple commands and/or
text can be assigned to any configurable key (or twokey). This is
accomplished through the use of macros. For more information on
creating macros and assigning them to keys, refer to the "Creating Macro
Programs" section of Chapter 3, "QEdit Macro Reference."
Creating a Keyboard Definition File
-----------------------------------
To customize the keyboard using the default Keyboard Definition file,
QCONFIG.DAT, no action is required. QEdit is distributed with this
Keyboard Definition file already installed.
The following outlines steps to create and install your own Keyboard
Definition file. (To customize the keyboard using one of the supplied
word-processor or editor emulation Keyboard Definition files, skip to
step number 6.)
1. Load the file QCONFIG.DAT into QEdit. (From the DOS command line,
type "q qconfig.dat" and press <Enter>).
2. Rename the file using the ChangeFilename command <Alt O>.
3. Browse through the file using the Cursor Up and Down keys. Notice
that the left side of the file contains a list of all configurable
keys. To the right of each key is the command or macro currently
assigned to the key. Some keys have no commands assigned.
4. Change the commands assigned to the keys to suit your particular
needs. For more information on how to assign keys, refer to the
previous section, "The Keyboard Definition File."
5. Save the file and exit QEdit by pressing <Alt X>.
6. Run QCONFIG and select option <K> from the menu.
7. You will be prompted for the name of the Keyboard Definition file.
Enter the name of the Keyboard Definition file you wish to load. If
you are creating your own file, enter the new name chosen in step 2.
8. Your key assignments are then incorporated into the editor program,
Q.EXE, and the configuration menu reappears.
9. Press <S> to save your changes and terminate the program.
10. Run the editor to insure that your key assignments function as
desired.
PRINTER OPTIONS
----------------------------------------------------------------------
This section contains a list of the Printer Options which can be
customized using the configuration program. The configuration program
prompt message, the default value, and a description are given for each
option.
* Default left margin for printing [0..200] [0]:
Indicates the number of spaces QEdit skips before printing each
line. If you do not want QEdit to skip any spaces at the beginning
of each line, select zero.
* Default page size for printing [0..200] [55]:
Indicates the number of lines to be printed per page. QEdit sends a
formfeed character to the printer after printing this number of
lines. If you do NOT want QEdit to send formfeed characters (for
continuous printing), select zero.
* Add formfeed after printing (Y/N)? [Y] :
Determines whether QEdit sends a formfeed character when printing is
complete. Select <Y> if you want a formfeed character to be sent at
the end of the document. (This is helpful for correctly lining up
the printer in preparation for the next printing operation.) Select
<N> if you do not want a final formfeed character to be sent.
* Default top margin for printing [0..200] [0] :
Indicates the number of lines to be left blank at the top of each
page during printing.
* Default bottom margin for printing [0..200] [0] :
Indicates the number of lines to be left blank at the bottom of each
page during printing.
* Include line number at beginning of each printed line (Y/N)? [N] :
Determines whether QEdit prints line numbers at the beginning of
each line. To include line numbers in the printed output, select
<Y>; otherwise, select <N>.
* Default line spacing: 1=single, 2=double, etc... [1..200] [1] :
Indicates the line spacing to be used when printing.
* Should printing pause between pages (Y/N)? [N] :
Determines whether QEdit pauses between each printed page. To have
QEdit pause between pages, select <Y>. (For this option to be
effective, the print page size must be non-zero.) If you do not
want QEdit to pause between pages, select <N>.
* Print Device: 0=PRN, 1=LPT1, 2=LPT2, 3=LPT3 [0..3] [0] :
Determines the initial print device.
TAB SETTINGS
----------------------------------------------------------------------
This section contains a list of all Tab Setting Options which can be
customized using the configuration program. The configuration program
prompt message, the default value, and a description are given for each
option.
* Do you want the editor to start in Physical Tab Expansion mode (Y/N)? [Y] :
Determines whether Physical Tab Expansion mode is initially ON or
OFF each time QEdit is executed. Set this option to <Y> if you want
Physical Tab Expansion mode to be ON each time QEdit is started;
otherwise, set it to <N>. Refer to the "Modes" section of Chapter 1
for more information on Physical Tab Expansion mode.
* Do you want the editor to start in Tabs Out mode (Y/N)? [N] :
Determines whether Tabs Out mode is initially ON or OFF each time
QEdit is executed. Set this option to <Y> if you want Tabs Out mode
to be ON each time QEdit is started; otherwise, set it to <N>.
Refer to the "Modes" section of Chapter 1 for more information on
Tabs Out mode.
* Default physical tab width [1..12] [8]:
Specifies the tab width that QEdit uses when Physical Tab Expansion
mode or Tabs Out mode is ON.
* Default cursor tab width [1..12] [8]:
Specifies the tab width that QEdit uses the TabRt and TabLt commands
are executed.
* Default file extension number 1 for default tabs [.c]:
Physical tab width for above [4]:
Cursor tab width for above [4]:
Specifies the first default file extension for default tabs. See
explanation below.
* Default file extension number 2 for default tabs [.pas]:
Physical tab width for above [2]:
Cursor tab width for above [2]:
Specifies the second default file extension for default tabs. See
explanation below.
* Default file extension number 3 for default tabs [.inc]:
Physical tab width for above [2]:
Cursor tab width for above [2]:
Specifies the third default file extension for default tabs. See
explanation below.
* Default file extension number 4 for default tabs [.asm]:
Physical tab width for above [8]:
Cursor tab width for above [8]:
Specifies the fourth default file extension for default tabs. See
explanation below.
* Default file extension number 5 for default tabs [.h]:
Physical tab width for above [4]:
Cursor tab width for above [4]:
Specifies the fifth default file extension for default tabs. See
explanation below.
* Default file extension number 6 for default tabs [.doc]:
Physical tab width for above [8]:
Cursor tab width for above [8]:
Specifies the sixth default file extension for default tabs. See
explanation below.
QEdit allows you to set default physical and cursor tab widths for
up to six different file extensions. When a file is loaded that
matches one of these extensions, the indicated defaults are used.
Otherwise, the defaults set in the previous two default tab options
are used.
For each of the six options, enter the desired file extension and
the appropriate physical and cursor tab width values.
* Default tab type: 0=Fixed, 1=Smart, 2=Variable [0] :
Determines the tab type to use each time QEdit is executed. Select
<0>, <1>, or <2>, for Fixed, Smart, or Variable Tabs, respectively.
Refer to the "Modes" section of Chapter 1 for more information on
the behavior of each tab type.
* Default Variable Tap stop columns:
[4 8 16 24 40]
:
Specifies the columns at which Variable Tab stops are to be set.
Enter the appropriate column numbers, each separated by a single
space. The last column at which you can set a Tab is column 255. A
maximum string of 255 characters can be specified.
If you press <Enter> without entering any tabs stops, you are
prompted with:
Delete all Variable Tab stops (Y/N)? [N] :
Select <Y> to remove all existing Variable Tab stops. Select <N> to
leave the tab stops unchanged.
CHAPTER 3. QEDIT MACRO REFERENCE
======================================================================
To simplify and automate editing tasks and to further customize the
editor, you can create macros. A macro is simply a series of commands
and/or keystrokes that is assigned to a key.
The simplest type of macro to create is a Keyboard Macro. A Keyboard
Macro is created by recording a series of keystrokes as they are typed
at the keyboard, and assigning that series to a key. For example, if
you wish to repeatedly enter a row of asterisks, three Returns, and then
a Tab, you could record this series and assign it to a single key, such
as <Shift F6>. Then, the next time you wish to enter a row of
asterisks, three Returns, and a Tab, you only have to press <Shift F6>.
More powerful macros can be created using the QEdit configuration
program (QCONFIG.EXE) and the QMac program (QMAC.EXE). These macros can
be permanently tied to QEdit (using the configuration program), or can
be loaded as needed (using QMac). Using these facilities, you can
extend and customize the capabilities of the editor to suit your needs
and preferences. Refer to "Creating Macro Programs" and "QMac" in this
chapter for more information.
KEYBOARD MACROS
------------------------------------------------------------------------
Creating Keyboard Macros
------------------------
Once you have decided to assign a series of commands and keystrokes to a
single key, creating a Keyboard Macro is simply a matter of entering
this series while QEdit "records" the macro.
To create a Keyboard Macro, follow these steps:
1. Position the text and cursor to where you wish to begin entering the
series of commands and keys. (You may want to practice your series
once or twice before actually recording the macro.)
2. Execute the MacroRecord <Ctrl M> command. An "R" appears on the
StatusLine to indicate MacroRecord mode is ON. The following message
appears:
+----------------------------------------------------------+
|Assign to what key: (<Enter> for "scrap", <Esc> to cancel)|
+----------------------------------------------------------+
3. Enter the key to which you want to assign the series of commands and
keystrokes. This key must be a "configurable" key (see Appendix C
for a list of configurable keys). If a key is specified that has a
QEdit command already assigned to it, the editor prompts you to
determine if you want to overlay that key assignment.
To assign the macro to a "scrap" or temporary area, simply
press <Enter>. The scrap area holds your macro until a new
macro is recorded (or you exit the editor).
4. Enter the series of commands and keystrokes to be assigned. Note
that the "R" still appears on the StatusLine.
5. Execute the MacroRecord <Ctrl M> command again. MacroRecord mode is
turned OFF, and the "R" no longer appears on the the StatusLine. The
macro is now created and assigned to the key specified in step 3.
Using Keyboard Macros
---------------------
To use your Keyboard Macro, position the text and cursor properly and
press the key to which you assigned the macro (or use the ExecuteScrap
<Ctrl Enter> command to retrieve the last macro recorded). If the macro
does not behave as you expected, repeat the above steps. Your old macro
assignment is replaced with the new one.
+QEdit Tip:-------------------------------------------------+
| Be aware of modes, especially Insert mode, when recording |
| and using macros. Macros recorded with Insert mode ON |
| and then used with Insert mode OFF (and vice versa) may |
| behave very strangely. |
+-----------------------------------------------------------+
Saving and Reloading Keyboard Macros
------------------------------------
Normally, macros created using this process are lost once the editor is
terminated. QEdit, however, provides an easy method of saving your
macros so that they may be reloaded for use in any future editing
session.
To save macros for future use, you must write them to a Keyboard Macro
file. (This file is in a special binary format, recognizable by QEdit,
and should not be edited as a normal text file.) The name of this file
is specified by the user.
To save macros once they have been created, execute the MacroWrite
<Esc><M><W> command. QEdit prompts with:
+-----------------------------------------------------------+
|Macro file to write: |
| |
+-----------------------------------------------------------+
Enter the name of the file (optionally including drive and/or path) to
contain your macros. All Keyboard Macros currently recorded (and/or
loaded) during the editing session are saved under the specified
filename. (However, macros assigned only to the scrap area, and not to
a specific key, cannot be saved.)
In a future editing session, when you wish to reuse your previously
defined macros, you need only reload the macro file. To do this,
execute the MacroRead <Esc><M><R> command. QEdit prompts with:
+-----------------------------------------------------------+
|Macro file to read: |
| |
+-----------------------------------------------------------+
Enter the name of the previously saved macro file. Your macros are
reloaded. You may then use them in the same manner as before.
Example of a Keyboard Macro
---------------------------
To create a Keyboard Macro that inserts a formfeed character (ASCII 12)
at column one of the current cursor line, do the following:
1. Position the cursor in the text where you would like to insert the
formfeed character. Set Insert mode ON.
2. Execute MacroRecord <Ctrl M>.
3. Press <Alt F1> to assign the macro to this key.
4. Press the following series of keys:
<Home> (for the BegLine command)
<Ctrl P> (for the Literal command)
<Ctrl L> (a formfeed character)
5. Enter MacroRecord <Ctrl M>. The macro is now created and assigned to
the <Alt F1> key.
Now, when you press <Alt F1>, the cursor moves to column one and a
formfeed character is inserted, just as if you had typed it from the
keyboard.
CREATING MACRO PROGRAMS
------------------------------------------------------------------------
As mentioned in Chapter 2, "Customizing QEdit", the QEdit configuration
program (QCONFIG) allows you to assign multiple commands and/or text to
a key (or twokey). With this facility, you can easily write simple
programs using QEdit's macro language. These macros are included in the
Keyboard Definition file (QCONFIG.DAT), and then added to the editor
program itself using the configuration program. Each time the editor is
loaded, these macros are automatically available. For more information
on including macros in the Keyboard Definition file, refer to the
"Keyboard Configuration" section of Chapter 2.
To write a macro program, begin by editing your Keyboard Definition file
(QCONFIG.DAT, by default). Locate the key to which you wish to assign
your macro program. To the right of that key, specify MacroBegin as the
first command, followed by any combination of text strings and QEdit
commands, each separated by a space. Text should be enclosed in single
or double quotes.
Once the macro is written, save your Keyboard Definition file and exit
the editor. Then execute the configuration program (QCONFIG). Select
the "Keys" option to update the QEdit program. This assigns your macro
program to the specified key. Now when you run QEdit, you can execute
your own custom macros by pressing the applicable key.
Note: The amount of space that is available for macros included in the
Keyboard Definition file is limited to about 2K.
* Example:
f1 MacroBegin EditFile 'help.dat' Return
Press <F1> and this macro loads the file "help.dat". Note that the
Return command is issued after the text. This is required to terminate
the QEdit prompt issued by the preceding EditFile command.
* Example:
@t MacroBegin GSave Dos 'tpc ' CurrentFilename Return
Press <Alt T> and this macro saves all files that have been changed, and
then invokes the TURBO PASCAL compiler using the current file. (Note:
There must be a space included within the quotes immediately following
"tpc".)
* Example:
@f1 MacroBegin EditFile 'errors.lst' Return Quit Dos
'tcc ' CurrentFilename ' >errors.lst' Return Return
HorizontalWindow EditFile 'errors.lst' Return
Press <Alt F1> and this macro runs the TURBO C compiler on the current
file, saves the results to a file called "errors.lst", and then loads
that file into another window after the compile is finished.
+QEdit Tip:-------------------------------------------------+
| Macros can span multiple lines, as long as 2 simple rules |
| are followed: the key name must begin in column 1, and |
| all succeeding lines must begin in column 2 or greater. |
+-----------------------------------------------------------+
In general, any commonly used sequence of commands (or a useful but
complicated sequence of commands, for that matter) is a good candidate
for a macro.
We have received many helpful macro suggestions from QEdit users over
the years. Here is a short list of some of the more useful (and simple)
macros.
* A very useful QEdit command, GetPrev, copies a character from the line
immediately above the cursor line, onto the cursor line. Often it is
necessary to copy this character to several succeeding lines in the
same column. The GetPrev command, used in a macro, makes this
function easy. Assign this macro to the <Alt 4> key (for example) in
QCONFIG.DAT as follows:
@4 MacroBegin GetPrev CursorLeft CursorDown
* QEdit's AddLine and DelLine commands do not change the cursor
position. Many would prefer that the cursor move to column one when
these commands are executed. A solution is to change the QCONFIG.DAT
file as follows:
Default QCONFIG.DAT file:
f2 AddLine
^y DelLine
Customized QCONFIG.DAT file:
f2 MacroBegin AddLine BegLine
^y MacroBegin DelLine BegLine
* QEdit's CopyBlock and MoveBlock commands leave the copied or moved
Block marked. Many would prefer the Block to be unmarked. A solution
is to change the QCONFIG.DAT file as follows:
Default QCONFIG.DAT file:
@c CopyBlock
@m MoveBlock
Customized QCONFIG.DAT file:
@c MacroBegin CopyBlock UnmarkBlock
@m MacroBegin MoveBlock UnmarkBlock
* QEdit's DropAnchor command ends or extends a Block if executed after a
Block has been initially or entirely marked. Some editors have a
similar command, except that it acts as a toggle. That is, if you are
already marking a Block, and you press DropAnchor again, the Block is
unmarked and marking begins again at the current cursor position. To
implement this behavior, change the QCONFIG.DAT file as follows:
Default QCONFIG.DAT file:
@a DropAnchor
Customized QCONFIG.DAT file:
@a MacroBegin UnmarkBlock DropAnchor
* This macro allows you to edit a sorted list of files of the current
directory. Assign this macro to the <Alt 5> key (for example) in
QCONFIG.DAT as follows:
@5 MacroBegin Dos "dir *.* | sort>filedir.tmp" Return Return
EditFile "filedir.tmp" Return DelLine DelLine DelLine DelLine
Advanced Macro Programming
--------------------------
The following commands and features are intended for advanced QEdit
macro writers, to make certain kinds of macros easier to write. In the
examples provided, the key assignments indicated are suggested
assignments only; you can assign each macro to the key of your choice.
Macro Pause
The Pause command allows you to suspend execution of a macro, make
entries from the keyboard, and then continue execution of the macro.
To use the Pause command, place "Pause" at the appropriate position
within a macro in the QCONFIG.DAT file.
When you execute a macro containing a Pause command from within QEdit,
its execution is suspended when the Pause command is encountered. A "P"
appears on the StatusLine. At this point the User can enter text from
the keyboard. Press <Enter> to resume execution of the macro; press
<Esc> to terminate execution of the suspended macro entirely.
Please note that the <Enter> key entered from the keyboard to resume
execution of a suspended macro is "eaten" by the Pause command; or, in
other words, that <Enter> does not become part of the macro.
* For example, suppose you want to create a "find" command that always
searches forward, ignores case, and does not prompt for options. In
the QCONFIG.DAT file, assign to whatever key you desire (<F7> in this
example):
f7 MacroBegin Find Pause Return 'i' Return
If you want to get really fancy, you could let <F7> be your
find-forward, and <Shift F7> be your find-backward:
#f7 MacroBegin Find Pause Return 'ib' Return
Using Paste within a Macro
It can be handy to use the Paste command in a macro. Following are some
examples of macros using the Paste command.
* With the FillBlock command, you can use the following macro to move a
Block, and blank fill the space used by the Block, instead of the text
closing in around the Block. The macro assumes a Block is already
marked. The Block is Cut to the clipboard or system scrap buffer.
You can then insert the Block where you like by pressing the Paste key
<Grey *>. You now have a "copy with wipe" command!
f10 MacroBegin GotoBlockBeg Cut Paste FillBlock ' ' Return UnmarkBlock
* A macro to take the filename at the current cursor position and load
that file into the editor (assigned by default in QEdit to <Ctrl ]>.):
^] MacroBegin AltWordSet MarkWord Copy EditFile Paste Return
DefaultWordSet
This macro does the following:
AltWordSet - sets the proper word set for filenames
MarkWord - marks the filename at the current cursor position
Copy - copies the filename into the scrap buffer
EditFile - initiates the EditFile command
Paste - inserts the copied filename into the prompt box
Return - terminates the EditFile prompt
DefaultWordSet - restores the normal word set
* A macro to initiate a Find on the word at the current cursor position
(assigned by default in QEdit to <Alt =>.):
@= MacroBegin MarkWord Copy Find Paste Return Return
This macro does the following:
MarkWord - marks the word at the current cursor position
Copy - copies the word into the scrap buffer
Find - initiates the Find command
Paste - inserts the copied word into the prompt box
Return - terminates the search string prompt box
Return - terminates the Find options prompt box
Repeating a Command within a Macro
Within macros, in order to repeat the previous command "n" times, the
following syntax can be used:
command n
Where "n" is a number between 1 and 32767. The immediately preceding
command is executed the number of times indicated. So, for example:
CursorDown 1
Would move the cursor down one line (and is equivalent to just
CursorDown by itself).
CursorDown 10
Would move the cursor down ten lines.
Conditional Logic for Macros
Several commands are available for conditional logic within macros:
Jump, JTrue, JFalse, MacroQuit, MacroQuitFalse, and MacroQuitTrue.
Placement of one of these commands in a macro following another QEdit
command allows for branching or looping during macro execution.
All QEdit commands set an internal QEdit result code of TRUE upon
successful execution, or FALSE if execution is unsuccessful or no action
occurs. These result codes can be used to determine different courses
of action during execution of a macro, based on the outcome of a
particular command.
The Jump command makes an unconditional jump, regardless of the outcome
of the preceding command. The JTrue command makes a jump only when a
result code of TRUE is returned; JFalse makes a jump only for a result
code of FALSE.
The MacroQuit command unconditionally terminates a macro. The
MacroQuitTrue command terminates a macro only when a result code of
TRUE is returned; MacroQuitFalse terminate a macro only if a result code
of FALSE is returned.
Labels can be defined for branching, in the format "label:". The
maximum label length is 32 characters.
For example, here is a macro to delete the text from the cursor position
to the beginning of the line (assigned to the f10 key):
f10 MacroBegin
begin:
CursorLeft
MacroQuitFalse
DelCh
Jump begin:
Special-Purpose Macro Commands
This group of macro commands force the indicated mode or setting. If
the setting was already in that condition, they set QEdit's result code
to FALSE; otherwise, they set it to TRUE.
In many cases, macros can behave differently based on the currently set
QEdit modes. The following 3 commands give you some control in
establishing the proper environment so that your macro always works as
intended.
* SetInsMode
Sets Insert mode ON. To set Insert mode OFF (that is, set overwrite
mode ON), do the following:
SetInsMode ToggleInsert
* SetAutoIndentMode
Sets AutoIndent mode ON. To set AutoIndent mode OFF, do the following:
SetAutoIndentMode ToggleIndent
* SetWordWrapMode
Sets WordWrap mode ON. To set WordWrap mode OFF, do the following:
SetWordWrapMode ToggleWordWrap
The Find command sounds a tone when the search string cannot be found.
This may be undesirable in a long-running macro, that may possibly
execute hundreds of find operations that fail. The following commands
allow you to selectively turn the sound ON and OFF.
* SetSoundOn
Sets sound ON.
* SetSoundOff
Sets sound OFF.
Most macros execute dozens of QEdit commands, possibly hundreds of
times. This can cause the screen to flash rapidly as the macro runs. Not
only is this somewhat disconcerting to watch, it actually slows down the
speed of some macros. The following commands allow you to temporarily
suspend or resume screen updating, while a macro is running.
* SetScreenOn
Turns screen updating ON.
* SetScreenOff
Turns screen updating OFF. You must turn screen updating back ON
before your macro prompts for input, or if there is some output from
the macro that you want displayed on the screen.
NOTE: QEdit AUTOMATICALLY turns screen updating back ON when the macro
is finished executing. Thus, it is not necessary to issue the
SetScreenOn command at the end of the macro.
Many times, it would be nice for a macro to force a few settings, do its
assigned task, and then restore the original settings. The following
commands allow you to do just that. Note that each time SaveSettings is
executed, the previous settings saved with SaveSettings are overwritten.
* SaveSettings
Saves the current settings of: Insert, AutoIndent, WordWrap, Sound,
and Screen Updating.
* RestoreSettings
Restores the saved settings for the settings indicated in
SaveSettings.
The following commands set QEdit's result code to TRUE or FALSE based on
the condition being tested. These commands make certain types of macro
tests easy and reliable.
* isBegLine
Returns TRUE if the cursor is at column 1; otherwise, FALSE is
returned.
* isCurrChar
Returns TRUE if the character at the cursor position in the file is
the same as that specified by the character immediately following the
isCurrChar command.
* isEndLine
Returns TRUE if the cursor is past the last non-white character on the
current line; otherwise, FALSE is returned (including when the cursor
is on an empty line).
* isEmptyLine
Returns TRUE if the current line is empty or contains only white
space; otherwise, FALSE is returned.
* isLastLine
Returns TRUE if the cursor is on the last line of the currently edited
file; otherwise, FALSE is returned.
* isFirstLine
Returns TRUE if the cursor is on the first line of the currently
edited file; otherwise, FALSE is returned.
* isCursorInBlock
Returns TRUE if the cursor is inside a marked Block; otherwise, FALSE
is returned.
In order to tie a few of these concepts together, we present a simple
macro to delete all the blank lines in a marked Block. The cursor should
be at the beginning of the Block when the macro is invoked.
#f9 MacroBegin
SetScreenOff * turn off screen for speed
begin: isCursorInBlock MacroQuitFalse * exit if not in Block
isEmptyLine JFalse next: * skip if not empty line
isLastLine JTrue last: * special handling for last line
DelLine Jump begin: * delete empty lines
next: CursorDown JTrue begin: * try next line
MacroQuit *
last: DelLine * delete the last line
* that's all, folks!
The Main Macro
QEdit has a provision for a special-purpose macro that is automatically
executed at editor startup. In a Keyboard Definition file, assigning a
macro to the key "main" causes that macro to be executed whenever the
editor is initially invoked.
* Example:
main MacroBegin MacroRead "c:\qedit\mymacs.qed" Return
This causes a macro file named "mymacs.qed" to be loaded into the
editor, every time the editor is started. (Note that the "key" the
macro is assigned to is "main".)
QMAC
--------------------------------------------------------------------------
QMac is a translator for QEdit macros. It translates QEdit Keyboard
Macros from the binary format in which QEdit saves them, to a text
format that allows easy macro editing, and then translates the text
format back into the QEdit binary format. It also allows you to
directly create external macros in text format, and then translate those
macros to binary format so they can be loaded, as desired, into the
editor.
By using QMac with Keyboard Macros, you can create a Keyboard Macro
using QEdit; fine-tune it by editing the text representation of the
macro created by QMac; and then translate the edited version back to
binary format so that the macro can be loaded into QEdit for execution.
You may even wish to use the text format created by QMac to import a
Keyboard Macro into your Keyboard Definition file. This provides the
advantage of adding a macro directly to the editor program itself, so
that it does not have to be loaded each time the editor is executed.
(Contrast this to Keyboard Macros, which must be loaded each time the
editor is started in order to be executed.)
QMac offers additional advantages of increased macro space and enhanced
configurability.
* Macro space for built-in macros is limited to 2K. Built-in macros are
those that are included in the Keyboard Definition file and added to
the editor using the configuration program. Loadable macros, however,
can be as large as 4K. Loadable macros are those created as Keyboard
Macros and saved to a binary macro file, as well as macros modified or
created with QMac. (The 4K limit applies to the size of the binary
macro file, which can contain one or more loadable macros.)
* Using loadable macros (rather than built-in macros), you can
effectively create different versions of the editor for different
tasks. For example, if you want to control the behavior of certain
keystrokes according to the directory you are in, you can use QMac to
create a different macro file for each set of affected keys. You may
wish to have the function keys set up to behave in a certain manner
when you are writing letters, another way when you are writing xBase
programs, and yet another way when you are writing DOS BATCH files.
The appropriate macro file could be added to each directory, and then
loaded when the editor is started from a particular directory.
QMac allows appending to or overwriting existing macro files, making it
easy to add new macros to existing macro files. And QMac's text file
format allows comments, permitting documentation of the macros within
their "source file."
Using QMac: An Overview
------------------------
Here is an overview of how to use QMac, including recording a sample
Keyboard Macro, saving it to a file, and converting it with QMac. The
keystrokes mentioned below assume you are using the default QCONFIG.DAT
supplied with QEdit; if you have re-installed your keyboard using the
configuration program, modify as needed.
First, record a Keyboard Macro to search for the string "the". In the
example, we assign the macro to <Ctrl F10>.
1. Execute the MacroRecord <Ctrl M> command.
2. At the prompt, "Assign to what key:", press <Ctrl F10>.
3. Press <Ctrl QF> to execute the Find command. Type "the" and press
<Enter>. Type "IW" and press <Enter> again.
4. Execute the MacroRecord <Ctrl M> command again to end the macro.
Next, save the macro to a macro file named FIND.MAC:
1. Execute the MacroWrite <Esc><M><W> command.
2. At the prompt, "Macro file to write:", type "find.mac" and press
<Enter>.
Now, use QMac to convert the macro to text for editing:
1. Execute the Dos <Alt F9> command and type:
qmac find.mac find.txt /a- /t
Press <Enter>. The file FIND.MAC is converted to a text format in
the file FIND.TXT. (The /t option selects text output).
2. Execute the EditFile <Alt E> command to load the newly-created text
output file into QEdit. At the prompt, "File(s) to edit:", type
"find.txt" and press <Enter>.
Text similar to the following is displayed:
*
* Converted by QMAC from: C:\FIND.MAC
*
^f10 MacroBegin Find "the" Return "IW" Return
This is the text representation of the keystrokes recorded in the
previous steps.
3. Make any necessary changes to the macro. For example, change the
word "the" to "and". Then execute the File <Ctrl KX> command to
save the file.
Next, convert the macro from text back to binary:
1. Execute the Dos <Alt F9> command and type:
qmac find.mac find.txt /a- /b
Press <Enter>. The file FIND.TXT is converted back to its binary
form in the file FIND.MAC. (The /b option instructs QMac to create
the binary file from the specified text file specified.
Finally, reload the modified macro file into QEdit for execution:
1. Execute the MacroRead <Esc><M><R> command.
2. At the prompt, "Macro file to read:", type "find.mac" and press
<Enter>.
3. Press <Ctrl F10> to execute your new macro. QEdit searches for the
word "and" (instead of "the").
As this example illustrates, you can use QMac to convert macro files in
two directions: from a human-readable text format to the binary format
that QEdit uses, and vice versa.
Executing QMac
--------------
To display a summary of QMac's required format and options, type the
following at the DOS prompt:
qmac ?
and press <Enter>. The following appears on the screen:
+-----------------------------------------------------------------------+
| QMAC: QEdit Macro Program v3.0 |
| Copyright 1989-1993 by SemWare Corp. All rights reserved worldwide. |
| |
| QMAC macfile txtfile [ /B | /T ] [ /A | /A- ] |
| |
| macfile Filename of binary macro file |
| txtfile Filename of macro text file |
| /B Binary output: Create macfile from txtfile |
| /T Text output: Create txtfile from macfile |
| /A Append mode: Append output to existing file |
| /A- Do not append output to existing file |
| |
| QMAC will prompt for filenames if not specified. |
| See manual for additional command-line options. |
+-----------------------------------------------------------------------+
The "macfile" parameter is the name (including directory, if needed) of
a QEdit binary macro file, such as one created by using MacroWrite from
inside QEdit.
The "txtfile" parameter is the name of a text file that contains a
human-readable text representation of the macros in a macro file.
The "macfile" and "txtfile" parameters are required. If not specified
on the command line, QMac prompts for these parameters.
When executed, QMac creates whichever of the two file formats does not
already exist. That is, if the text macro file ("txtfile") already
exists, QMac converts this file to binary and creates the binary file
("macfile"); if the binary macro file ("macfile") already exists, QMac
converts this file to text format and creates the text macro file
("txtfile").
However, if both files exist, you must supply either the /B or the /T
switch to indicate the direction of conversion. The /B switch instructs
instructs QMac to create a binary file; the /T switch instructs QMac to
create a text file.
If the output file already exists, you must also specify the /A switch
to indicate whether QMac should append to the existing macro file.
Specify /A+ to append to the file; specify /A- to overwrite the file. If
this parameter is required but was not specified on the command line,
QMac prompts for it.
All of the switches other than /B, /T, and /A have default values. These
need to be specified only if you want to select a value different than
the default value. The switches /C, /U, /M, /Q, /I, and /W affect
QMac's operation only when QMac is converting from binary to text
format. The /E switch affects QMac's operation only when QMac is
converting from text to binary format. (Information about these
switches is provided later in this chapter.)
When executed, QMac prompts for any required parameters that are not
supplied at the DOS prompt, so you can just type:
qmac
with no parameters. QMac then prompts you for information. (Of course,
for command-line switches that are not specified, the default values, if
applicable, are used.) To halt QMac, press <Enter> without typing a
response at any QMac prompt.
The parameters accepted by QMac can be entered in any order on the DOS
command line. If a switch appears more than once, or if conflicting
switches are specified, the rightmost switch takes precedence.
Writing Macro Text
------------------
Macros are created in a macro file. A macro file can contain multiple
macros. The text format which QMac uses for macros is similar to that
used within the Keyboard Definition file (QCONFIG.DAT): The format is:
key [ MacroBegin ] [ Command... ] [ & ]
[ "string" ] [ xxx ] [ * comment ]
....
The "key" name must start in column 1 of a line, and must be a single
key (no twokeys allowed). It can be either the name of a key that QEdit
recognizes (such as "^pgup" for "<Ctrl PgUp>"), or the numeric scan code
for a key. Capitalization of key names is not significant. However,
the underscore ("_") character may NOT be used inside key names.
By using the numeric scan code, you can assign macros to special keys
that do not exist on your keyboard, but which are generated by a
keyboard enhancer program. You can also accommodate non-standard
keyboards on some clone PCs that have unusual keys.
A macro optionally begins with the command "MacroBegin", but this is not
required in this version of QMac.
Next, the macro can contain any number of QEdit commands, such as
"CursorRight", "EditFile", etc.
For example, a macro (assigned to <Alt F2>) to make the cursor jump to
the very first character on the last line of the current file is:
@f2 MacroBegin EndFile BegLine
Note: If a macro contains only the command "UnknownCommand", then that
key has no action at all in QEdit. You might use this to "disable"
certain keys in QEdit at certain times. In order to re-enable the keys,
you must either load another macro file with those keys defined, or
re-start QEdit.
You may include any number of blank or tab characters between commands
in a macro. Capitalization of command names is not significant, and
QMac ignores the underscore ("_") character when used inside command
names. Thus, any of the following are equivalent:
^f2 macro_begin beg_file un_mark_block
^f2 MaCrO_BeGiN BeGFiLe Un_MaRk_Block
^f2 MACROBEGIN BEG_file UNMARKBLOCK
Along with commands, macros can contain quoted strings of text. These
strings are "typed" when the macro is executed, just as if you typed
them from the keyboard. Quoted strings can be surrounded by either
single- or double-quote characters.
If you need to embed a quote mark in a string, either use the other
quote mark to surround the string, or double up the quote mark in the
string. For example:
'This is a double quote: " within a string'
or
"This is a double quote: "" within a string"
would enter the following string in the macro:
This is a double quote: " within a string
Quoted strings can be used to enter text in the file you are editing, or
to answer prompts or menus presented by QEdit.
For other ASCII characters that are difficult to enter, you can include
the decimal code directly in the macro. For instance, to include a
literal formfeed character in a macro, you could enter:
"This is a form feed: " #12
The "12" would be translated to an ASCII 12, or formfeed, in the macro.
You can use this method to enter any ASCII code form 0 to 255. The
pound sign ("#") must be entered. The ASCII number IS NOT enclosed in
quotes.
Labels can also be included in a macro, to allow you to jump to a
particular point in a macro, using the various "jump" commands. (For
more information, refer to "Conditional Logic for Macros" presented
earlier in this chapter.) To use a label, place it before the command
to which you wish to jump. To identify a label, you must include a
colon ":" as the last character of the label name.
For label names, capitalization is not significant. Underscores can be
used inside label names; however, they are considered a significant part
of the name. So the following labels:
My_First_Label:
MyFirstLabel:
are DIFFERENT.
Comments can also be included within a macro. To identify a comment,
precede the comment with an asterisk ("*"). Anywhere an asterisk ("*")
appears on a line outside a quoted string, the rest of the line (to the
right of the asterisk) is treated as a comment and is ignored by QMac.
You can use this to include notes within a macro about the macro's
operation. Comments are not included in the binary macro file that
QEdit loads, so there is no space penalty for including them in your
text macro files.
QMac ignores any blank lines or lines that start with a comment ("*")
indicator, so you can readily include these within or between your
macros as needed.
A macro can continue onto multiple lines. Simply indent the second and
subsequent lines of the macro by one or more spaces. The macro
continues until the end of the text, or until QMac encounters another
key at the beginning of a subsequent line.
An alternate method for continuing a macro onto multiple lines is to
include an ampersand ("&") as the very last character of the preceding
line. If a line ends with "&", the line that immediately follows is
considered part of the macro. (Note, however, that if you use this
method for continuation of macros, it is difficult to properly reformat
the macro, when necessary, with QEdit.)
Lines in your text macro files can be up to 1000 characters long.
A text macro file may contain an arbitrary number of key definitions
(that is, an arbitrary number of macros). QMac does not check the
number or size of macros when creating a binary macro file from a text
file, because the limits on size and number may change from version to
version of QEdit. However, it does make a rudimentary check on total
size to be sure that the current version of QEdit will be able to load
the macro file.
Converting Macro Binary Format to Text Format
---------------------------------------------
When creating a text file from a binary macro file, QMac writes macros
in the same format as described in the previous section.
Literal ASCII characters whose decimal codes are between 0 and 31
inclusive (the "control codes") are written to the text macro in decimal
form, preceded by "#". All other quoted characters are written as is.
When interpreting macros containing jump commands, the original names of
the labels for the jumps are no longer available. So QMac manufactures
labels of the form "Labelxxx", where "xxx" is a sequential number
beginning with zero.
For example, if you compile the following macro to binary form with
QMac:
* Delete from the current line to the end of the file
^f10 MacroBegin REPEATIT: DelLine JTrue REPEATIT
and then convert it back to text, it will look something like this:
^f10 MacroBegin Label0: DelLine JTrue Label0:
QMac generates a separate numbered label for every Jump, JTrue, or
JFalse command in the macro. (This results in multiple labels at the
same place in a macro whenever that place in the macro is referenced by
multiple "jump" commands.)
QMac provides several command-line switches to affect the formatting of
text macros, described below. You can control capitalization, use of
underscores, indenting, word wrapping, and use of ampersands. None of
these controls has any effect on QMac when it is reading text macro
file(s), only when it is writing them.
The /C switch controls the use of the "continuation" character, which is
the ampersand ("&"). The default value is /C-, which instructs QMac to
use the convention of indenting continuation lines, rather than writing
the continuation character ("&") on the end of lines that are continued.
If you prefer the ampersand syntax, you can specify /C+ on the command
line to turn this option ON.
The /Q switch indicates to QMac your preferred quote mark to be used
around quoted strings. The default is /Q+, which instructs QMac to use
a double quote mark ("""). To select the single quote mark ("'") for
use around quoted strings, specify /Q-.
The /M switch indicates whether you wish to use mixed case in command
names. The default is /M+, which causes the QEdit command names to
appear as they are normally listed in this manual (example:
ToggleEGA43). Specify /M- to generate all lower-case names. (Note:
Key names are always written in all lower case.)
The /U switch controls whether QMac includes underscores ("_") in
command names. The default is /U-, which means no underscores are
written. When /U+ is specified, QMac inserts an underscore before each
capitalized letter within a command (as they are normally capitalized in
this manual).
Here is a summary of how commands look with the different combinations
of /M and /U:
/M+ /U- (default) MacroBegin BegLine ToggleEGA43
/M+ /U+ Macro_Begin Beg_Line Toggle_EGA_43
/M- /U- macrobegin begline toggleega43
/M- /U+ macro_begin beg_line toggle_ega_43
The /I switch controls how far QMac indents commands from the left
margin. To specify the indentation amount, immediately follow /I with
the decimal number of the column in which the text of macros (other than
the assigned key name) is to begin on each line. The default is /I9,
which indicates column 9.
The /W switch indicates to QMac your desired right margin, used to wrap
multi-line macros. To specify the right margin, immediately follow /W
with the decimal number of the column in which the text of macros is to
be wrapped, when necessary. The default is /W80, which indicates column
80.
STARTUP MACROS
----------------------------------------------------------------------
QEdit offers a feature that allows you to load and/or execute macros
from the DOS command line.
To load a macro from the DOS command line, type "-l" (this is a dash
character and the letter "l") immediately followed by a macro filename
when you execute QEdit. For example, from the DOS prompt type:
q <filename to edit> -l<macro filename>
To execute a macro from the DOS command line, type "-e" immediately
followed by a macro filename when you execute QEdit. QEdit then
automatically executes the first macro in the macro file after the file
to be edited has been loaded. For example, from the DOS prompt type:
q <filename to edit> -e<macro filename>
Following are additional notes about the use of Startup macros.
* The macro file to be loaded and/or executed must be created using
either the MacroWrite <Esc><M><W> command or QMac.
* A macro file to be executed (-e) is limited to a maximum size of 500
bytes.
* A "/" character can be used instead of the "-" character, as "/l" and
"/e".
* You MUST supply a filename to be edited on the DOS command line to use
this feature.
* When using the execute ("-e") option, only the first macro in the
macro file is executed. This macro is executed only after the file to
be edited has been loaded.
* You can load one macro and execute another macro at the same time.
For example, from the DOS prompt:
q <edit filename> -e<macro filename> -l<macro filename>
Following is an example of using Startup macros.
Suppose you have created two macro files, called first.mac and
second.mac. Now you want to load a file for editing called work.tmp,
and at the same time, load the macro file called first.mac and execute
the macro file called second.mac. From the DOS command line, enter:
q work.tmp -lfirst.mac -esecond.mac
CHAPTER 4. QEDIT COMMAND REFERENCE
======================================================================
This chapter contains a description of each of the QEdit commands. Where
applicable, the default key assignments are provided. Additionally,
<Esc> sequences are given for those commands that can be accessed
through the pull-down menus.
To assign commands which do not have a default assignment or to change
existing key assignments, refer to the "Keyboard Configuration" section
of Chapter 2 for instructions.
AddLine <F2> or <Esc><E><A>
----------------------------------------------------------------------
Adds a blank line after the cursor line, placing the cursor on the newly
created line. The cursor column does not change.
Align
----------------------------------------------------------------------
Aligns the text on the cursor line with the text on the line immediately
before the cursor line and then positions the cursor on the next line.
The cursor column does not change. If the cursor is on line one, or the
previous line is blank, or the cursor line is blank, this command simply
moves the cursor to the next line.
Align searches backwards up to 100 lines for a line containing text to
align with.
AltWordSet
----------------------------------------------------------------------
Instructs QEdit to recognize an expanded set of characters as "word"
characters.
The default word set contains the following characters: 0 through 9,
upper and lower case A through Z, and the underline character. The
AltWordSet command causes additional characters to be considered "word"
characters. These additional characters are: ! # $ % & ` ' ( ) - . / \
@ { } ~ : ^
The AltWordSet command affects the operation of these commands:
DelLtWord <Ctrl Backspace>
DelRtWord <Ctrl T>
MarkWord <Ctrl KT>
WordLeft <Ctrl Cursor Left>
WordRight <Ctrl Cursor Right>
The default word set can be re-installed by executing the DefaultWordSet
command.
AppendScrbuff <Ctrl BA>
----------------------------------------------------------------------
Appends the currently marked Block to the end of the named Scratch
Buffer. The existing contents of the named Scratch Buffer are not lost.
If the named Scratch Buffer does not exist, a new Scratch Buffer is
created.
AsciiChart <Esc><O><T>
----------------------------------------------------------------------
Displays a scrollable ASCII chart on the screen. Press <Enter> to have
the selected character inserted into the text at the current cursor
position.
Backspace <Backspace>
----------------------------------------------------------------------
If Insert mode is ON:
Deletes the character to the left of the cursor. The text to the right
of, and including the cursor position, shifts left one position. If the
cursor is in column one, the cursor line is appended to the end of the
preceding line.
If Insert mode is OFF:
Deletes the character to the left of the cursor. The text to the right
of the cursor does NOT close in or shift. If the cursor is in column
one, the cursor line is still appended to the end of the previous line.
BegFile <Ctrl PgUp>
----------------------------------------------------------------------
Positions the cursor at column one on the first line of the current
file.
BegLine <Home>
----------------------------------------------------------------------
Positions the cursor at column one of the current cursor line.
BegScreen <Ctrl Home>
----------------------------------------------------------------------
Positions the cursor at the top line of the current window. The cursor
column does not change.
CenterLine <Ctrl OT>
----------------------------------------------------------------------
Centers the current cursor line based on column 1 and the right margin.
Use the SetRmargin <Ctrl OR> command to change the right margin.
With the cursor inside of a line Block, you can execute this command to
center several lines at once. With the cursor inside of a column Block,
you can center lines based on the left and right Block boundaries.
ChangeFilename <Alt O> or <Alt F><C> or <Esc><F><C>
----------------------------------------------------------------------
Changes the name of the current file. QEdit prompts for the new name.
If the file already exists, you are required to confirm that you still
want to rename the file. The current file is marked as being a changed
file. (An asterisk appears on the StatusLine preceding the filename.)
This command has no effect on disk files, until the renamed file is
saved.
CloseWindow <Ctrl OC> or <Esc><W><C>
----------------------------------------------------------------------
Closes the current window, unless it is the only window which is open,
in which case the command has no effect.
Copy <Grey +>
----------------------------------------------------------------------
Copies the marked Block into the Scrap Buffer. The Block is then
unmarked. If no Block is marked, the cursor line is copied into the
Scrap Buffer. The copying of the cursor line, when a Block is not
marked, is configurable. Refer to the "Advanced Options" section of
Chapter 2 for more information.
CopyBlock <Alt C> or <Esc><B><C>
----------------------------------------------------------------------
Copies the marked Block to the cursor position. If the Block is a
character Block (created using the DropAnchor, MarkCharacter, or
MarkBlockBegin/End commands) or a column Block (created using the
MarkColumn command), the Block is inserted into the text beginning at
the current cursor position. If the Block is a line Block (created using
the MarkLine command), it is inserted before or after the current cursor
line, depending on the configuration setting, "Insert line blocks ABOVE
the cursor line" (refer to the "General Options" section of Chapter 2).
The Block remains marked. Blocks may be copied from one file to
another.
CopyOverBlock <Alt Z>
----------------------------------------------------------------------
Copies the currently marked column Block and places it at the current
cursor position by overlaying existing text and without shifting text to
the right. This command only works with column Blocks. The Block
remains marked. Blocks may be "copied over" from one file to another.
CurrentFilename
----------------------------------------------------------------------
Returns the name of the currently edited file, as if it had been typed
at the keyboard. This command is useful for manipulation of files from
within macros.
CursorDown <Cursor Down>
----------------------------------------------------------------------
Moves the cursor downward in the file to the next line.
CursorLeft <Cursor Left>
----------------------------------------------------------------------
Moves the cursor one character to the left. When the cursor reaches the
left edge of the screen, it stops, unless the text has been scrolled
left, in which case the text scrolls right one position.
CursorRight <Cursor Right>
----------------------------------------------------------------------
Moves the cursor one character to the right. When the cursor reaches
the right end of the screen, the text starts scrolling left until the
cursor reaches the maximum line length.
CursorUp <Cursor Up>
----------------------------------------------------------------------
Moves the cursor upward in the file to the previous line.
Cut <Grey ->
----------------------------------------------------------------------
Copies the marked Block into the Scrap Buffer. The Block is then
deleted from the file being edited. If no Block is marked, the cursor
line is cut into the Scrap Buffer. The cutting of the cursor line, when
a Block is not marked, is configurable. Refer to the "Advanced Options"
section of Chapter 2 for more information.
DefaultWordSet
----------------------------------------------------------------------
Re-installs the default word set. Refer to the AltWordSet command for
more information about word sets.
DelCh <Del>
----------------------------------------------------------------------
Deletes the character at the current cursor position. The line to the
right of the cursor shifts left one position. If the cursor position is
past the last character on the line, the next line is appended to the
cursor line. The "joining" of the next line when the cursor is past the
last character on the line is configurable. Refer to the "General
Options" section of Chapter 2 for more information.
DeleteBlock <Alt G> or <Esc><B><D>
----------------------------------------------------------------------
Deletes the currently marked character or line Block. If there is not a
Block marked in the current file, this command has no effect.
DelLine <Alt D> or <Ctrl Y> or <Esc><E><D>
----------------------------------------------------------------------
Deletes the cursor line. The line following the cursor line becomes the
new cursor line.
DelLtWord <Ctrl Backspace>
----------------------------------------------------------------------
Deletes the "word" to the left of the cursor. If the cursor is in
column one, the cursor line is appended to the end of the preceding
line.
DelRtWord <Ctrl T>
----------------------------------------------------------------------
Deletes the "word" to the right of the cursor. If the cursor position
is past the last character on the line, the next line is appended to the
cursor line.
DelScrbuff <Ctrl BD>
--------------------------------------------------------------------
Deletes the requested Scratch Buffer. The editor prompts for the name of
the Scratch Buffer to be deleted. Press <Enter> on a blank entry to
bring up a list of all named Scratch Buffers. The appropriate buffer
can be selected from this list by moving the cursor to an entry and
pressing <Enter>.
DelToEol <F6> or <Esc><E><E>
----------------------------------------------------------------------
Deletes text on the cursor line, from the cursor position to the end of
line.
Dos <Alt F9>
----------------------------------------------------------------------
QEdit prompts for a command, which is passed to DOS for execution. After
the command is executed by DOS, control is returned to QEdit. If you
want to execute a series of commands in DOS, you should use the Shell
command, described later in this chapter.
+QEdit Tip:-------------------------------------------------+
| You should NOT execute any TSR (terminate and stay |
| resident) programs from QEdit's Dos command. This |
| includes the DOS print and graph commands, and memory |
| resident programs such as Sidekick and Superkey. |
+-----------------------------------------------------------+
DropAnchor <Alt A>
----------------------------------------------------------------------
This command is used to mark a character Block. Initially executing
this command marks one end of a Block at the cursor position. As the
cursor is moved, the Block "grows" with it. Executing this command
again marks the other end of the Block at the cursor position. If
DropAnchor is executed in a file that already contains a character
Block, the Block is extended to the current cursor position.
DupLine <F4>
----------------------------------------------------------------------
Makes a copy of the current cursor line and inserts the copy immediately
following the cursor line. The cursor is moved to the new line.
EditFile <Alt E> or <Alt F><L> or <Esc><F><L>
----------------------------------------------------------------------
The editor prompts for the name(s) of the additional file(s) to be
edited. Wildcard characters (* or ?) are permissible, as are multiple
filenames. The editor does not load multiple copies of the same file.
If you issue the EditFile command using the name of a file that has
already been loaded, QEdit simply makes that file the current file.
EndFile <Ctrl PgDn>
----------------------------------------------------------------------
Positions the cursor on the last line of the file immediately following
the last non-blank character. If the last line of the file is blank,
the cursor is positioned in column one.
EndLine <End>
----------------------------------------------------------------------
Positions the cursor immediately following the last non-blank character
on the cursor line.
EndPara
----------------------------------------------------------------------
Positions the cursor immediately following the last nonblank character
of the current paragraph.
EndScreen <Ctrl End>
----------------------------------------------------------------------
The cursor is positioned on the last line of the current window. The
cursor column does not change.
Escape <Esc>
----------------------------------------------------------------------
If executed while editing, the pull-down menus are displayed.
Otherwise, this command terminates any editor prompt.
ExecuteScrap <Ctrl Enter> or <Esc><M><E>
----------------------------------------------------------------------
Plays back the latest macro that was created using the MacroRecord
command.
Exit <Ctrl KD>
----------------------------------------------------------------------
Conditionally discards the current file. If the file has not been
modified, the file is discarded without prompting. If the file has been
modified, the editor prompts with:
+ Save changes? =+
|#Yes############|
| No |
| Cancel |
+================+
Press <Y> to save and then discard the file. Press <N> to discard the
file without saving any changes. Press <C> or <Esc> to halt the command
and return control back to the editor, without saving or quitting the
file.
QEdit can be configured, when only a single file is being edited and the
Exit command is issued, to either terminate or prompt for another file
to edit. Refer to the "General Options" section of Chapter 2 for more
information.
File <Ctrl KX> or <Alt F><F> or <Esc><F><F>
----------------------------------------------------------------------
Saves and then discards the current file.
QEdit can be configured, when only a single file is being edited and the
File command is issued, to either terminate or prompt for another file
to edit. Refer to the "General Options" section of Chapter 2 for more
information.
FillBlock <Ctrl KL> or <Esc><B><F>
----------------------------------------------------------------------
Fills an entire marked Block with any ASCII character. You are prompted
to enter the desired character. FillBlock is recommended for use with
column and word Blocks, only because it fills other type Blocks with
characters beyond column 80.
Find <Ctrl QF> or <Esc><S><F>
----------------------------------------------------------------------
Searches for a specified string of characters within the current file.
The User is prompted for a search string and search options. Available
search options are:
[B] Search backwards from the current cursor position.
[G] Global search. Begin searching from the beginning of the file
(or marked Block, if the L option is also selected.)
[L] Local search. Limit the search to the marked Block.
[I] Ignore the case of the search string.
[W] Search for whole words only.
FindReplace <Ctrl QA> or <Esc><S><R>
----------------------------------------------------------------------
Searches and replaces strings within the current file. The User is
prompted for a search string, a replace string, and options. Available
options are:
[B] Search backwards from the current cursor position.
[G] Global search and replace. Begin searching from the beginning
of the file (or marked Block, if the L option is also
selected.)
[L] Local search and replace. Limit the search to the marked
Block.
[I] Ignore the case of the search string.
[W] Search for whole words only.
[N] Find and replace without prompting.
At every occurrence of the search string in the file, the User is given
the following replace options:
[Y] Replace the search string with the replace string and continue
on to the next occurrence of the search string.
[N] Do not make any changes but continue on to the next occurrence
of the search string.
[O] Replace the search string with the replace string and then
terminate the FindReplace process.
[R] Replace the search string with the replace string for this and
the rest of the occurrences throughout the file without any
further prompting.
[Q] Terminate the FindReplace process.
You can press <Ctrl Break> to halt a global FindReplace.
FirstNonWhite
----------------------------------------------------------------------
Intended as a replacement and/or supplement to the BegLine command.
Places the cursor at the first non-white character on the line, or
column 1 if the line does not have any non-white characters. "White"
characters are tabs or spaces. A useful macro would be:
Home MacroBegin BegLine MacroQuitTrue FirstNonWhite
(Explanation: If already at the beginning of a line, go to the first
non-white character on the line; otherwise, if not already at the
beginning of a line, go to the beginning of the line.
Flip <Alt 3>
----------------------------------------------------------------------
Reverses the case (upper to lower and lower to upper) of all characters
in a marked Block. The cursor must be within the marked Block. If the
cursor is outside of the marked Block or if no Block is marked, the case
of the character at the current cursor position is reversed.
GetPrev <Ctrl - (dash)>
----------------------------------------------------------------------
Duplicates the character immediately above the cursor at the cursor
position.
GetScrbuff <Ctrl BL>
----------------------------------------------------------------------
Inserts the contents of the named Scratch Buffer at the cursor position.
Refer to the "Block Commands" section of Chapter 1 for more information.
GExit <Alt X> or <Alt Q><X> or <Esc><Q><X>
----------------------------------------------------------------------
Issues the Exit command for all files that have been loaded. If no
files have been modified, this command immediately terminates the editor
and returns control to DOS. If any files have been modified, you are
prompted with the following menu for each modified file:
+ Save changes? =+
|#Yes############|
| No |
| Cancel |
+================+
Press <Y> to save and then discard the file. Press <N> to discard the
file without saving any changes. Press <C> or <Esc> to halt the command
and return control back to the editor, without saving or quitting the
file.
For example, if you have ten files loaded and two of them have been
modified, then you are prompted to save changes twice, once for each
modified file.
GFile <Alt F><G> or <Esc><F><G>
----------------------------------------------------------------------
Instructs the editor to discard all files that have been loaded. Any
files that have been modified are unconditionally saved.
If no files have been changed, this command immediately terminates the
editor and returns control to DOS.
GotoBlockBeg <Ctrl QB>
----------------------------------------------------------------------
Positions the cursor at the beginning of the currently marked Block. If
the Block is in a file other than the current file, the file containing
the Block becomes the new current file.
GotoBlockEnd <Ctrl QK>
----------------------------------------------------------------------
Positions the cursor at the end of the currently marked Block. If the
Block is in a file other than the current file, the file containing the
Block becomes the new current file.
GotoColumn <Esc><S><G>
----------------------------------------------------------------------
Positions the cursor at the requested column. The editor prompts for
the desired column number.
GotoLine <Ctrl J>
----------------------------------------------------------------------
Positions the cursor at the requested line. The editor prompts for the
desired line number.
GPQuit <F3> or <Alt Q><Q> or <Esc><Q><Q>
----------------------------------------------------------------------
Issues the PQuit command for all files that have been loaded.
GrowWindow <Ctrl OG> or <Esc><W><R>
----------------------------------------------------------------------
Changes the size of the current window, if there are multiple windows on
the screen.
GSave <Alt Y>
----------------------------------------------------------------------
Issues the SaveFile command for all files that have been modified.
HalfPgDn
----------------------------------------------------------------------
Scrolls the text toward the end of the file one-half page.
HalfPgUp
----------------------------------------------------------------------
Scrolls the text toward the beginning of the file one-half page.
HorizontalWindow <Ctrl OH> or <Esc><W><S>
----------------------------------------------------------------------
Splits the screen or current window horizontally, creating a new window.
Up to eight windows may be displayed on the screen at one time.
InsertDate
----------------------------------------------------------------------
Inserts the system date at the current cursor position.
InsertLine <Alt F2> or <Esc><E><I>
----------------------------------------------------------------------
Inserts a blank line above the cursor line and positions the cursor on
the newly created line. The cursor column does not change.
InsertTime
----------------------------------------------------------------------
Inserts the system time at the current cursor position.
isBegLine
----------------------------------------------------------------------
This command is intended for use only within macros.
Returns TRUE if the cursor is at column 1; otherwise, FALSE is returned.
isCurrChar
--------------------------------------------------------------------
This command is intended for use only within macros.
Used to set a conditional branch based on the value of the character at
the cursor position. The format is:
isCurrChar char
Where "char" is the character in literal format (surrounded by quotes,
either single or double) or in ASCII value format, preceded by a pound
sign (#).
Examples:
isCurrChar 'a'
JTrue found:
isCurrChar #97
JTrue found:
Both of these examples jump to the label "found" if the current
character is "a".
isCursorInBlock
----------------------------------------------------------------------
This command is intended for use only within macros.
Returns TRUE if the cursor is inside a marked Block; otherwise, FALSE is
returned.
isEmptyLine
----------------------------------------------------------------------
This command is intended for use only within macros.
Returns TRUE if the current line is empty or contains only white space;
otherwise, FALSE is returned.
isEndLine
----------------------------------------------------------------------
This command is intended for use only within macros.
Returns TRUE if the cursor is past the last non-white character on the
current line; otherwise, FALSE is returned, including the case when the
cursor is on an empty line.
isFirstLine
----------------------------------------------------------------------
This command is intended for use only within macros.
Returns TRUE if the cursor is on the first line of the currently edited
file; otherwise, FALSE is returned.
isLastLine
----------------------------------------------------------------------
This command is intended for use only within macros.
Returns TRUE if the cursor is on the last line of the currently edited
file; otherwise, FALSE is returned.
JFalse
----------------------------------------------------------------------
This command is intended for use only within macros.
It is used to transfer control to the named label, if the previous
command returned FALSE.
JoinLine <Alt J> or <Esc><E><J>
----------------------------------------------------------------------
Joins the line below the cursor line to the end of the cursor line. If
the cursor is past the end of the line, then the line is joined at the
cursor position.
JTrue
----------------------------------------------------------------------
This command is intended for use only within macros.
It is used to transfer control to the named label, if the previous
command returned TRUE.
Jump
--------------------------------------------------------------------
This command is intended for use only within macros.
It is used to unconditionally transfer control to the named label.
KillFile <Ctrl KZ>
----------------------------------------------------------------------
Erases the currently edited file from disk. The file remains loaded in
the editor and is marked as being a changed file. (An asterisk appears
on the StatusLine preceding the filename.) This command is very useful
when available disk space is low.
LineDown <Ctrl Cursor Down>
----------------------------------------------------------------------
Scrolls the text one line at a time toward the end of the file. The
cursor remains stationary on the screen.
LineUp <Ctrl Cursor Up>
----------------------------------------------------------------------
Scrolls the text one line at a time toward the beginning of the file.
The cursor remains stationary on the screen.
ListFiles <Esc><F><T>
----------------------------------------------------------------------
Displays a list of the currently loaded files. To switch to another
file, move the cursor to the appropriate file and press <Enter>. To keep
editing the current file, press <Esc>.
Literal <Ctrl P>
----------------------------------------------------------------------
Causes the editor to literally interpret the keystroke that is entered
immediately following this command. It is used to insert control
characters into the currently edited file. For example, to insert the
ASCII formfeed character (ASCII 12), you would first press <Ctrl P>
then <Ctrl L>. To insert a "null" character into the file, press <Ctrl
P> and then <Ctrl 2>. (Note: The "2" must be the "2" key on the
alphanumeric keyboard, NOT the key on the numeric keypad.) Refer to the
"Adding Text" section of Chapter 1 for more information.
Lower <Alt 2>
----------------------------------------------------------------------
Changes all characters in a marked Block to lower case. The cursor must
be within the marked Block. If the cursor is outside of the marked
Block or if no Block is marked, the character at the current cursor
position is changed to lower case.
MacroQuit
--------------------------------------------------------------------
This command is intended for use only within macros.
It is used to immediately terminate a macro, thus saving a "jump past
the end of the macro".
MacroQuitFalse
--------------------------------------------------------------------
This command is intended for use only within macros.
It is used to immediately terminate a macro, if the previous command
returned FALSE, thus saving a "jump past the end of the macro on FALSE".
MacroQuitTrue
--------------------------------------------------------------------
This command is intended for use only within macros.
It is used to immediately terminate a macro, if the previous command
returned TRUE, thus saving a "jump past the end of the macro on TRUE".
MacroRead <Esc> <M><R>
----------------------------------------------------------------------
Loads the named macro file, with all macros contained therein, from disk
into the editor's internal macro buffer. The macros are assigned to the
keys exactly as they were originally recorded and saved. The editor
prompts the User for the name of the file.
MacroRecord <Ctrl M> or <Esc><M><M>
----------------------------------------------------------------------
Toggles (ON and OFF) macro recording. If macro recording is OFF, this
turns macro recording ON and prompts for a key to which to assign the
macro. After pressing the desired key (see Appendix C for a list of
assignable keys), all following keystrokes are recorded until the
MacroRecord key is pressed again. After the macro has been recorded, it
can be played back by pressing the key to which the macro was assigned.
Instead of assigning a macro to a specific key, it can be assigned to a
"scrap" or temporary area by simple pressing <Enter> at the prompt. A
macro assigned to the scrap area may be played back by entering the
ExecuteScrap <Ctrl Enter> command. The scrap area is updated each time
the MacroRecord command is executed.
MacroWrite <Esc> <M><W>
----------------------------------------------------------------------
Saves all currently defined macros to a binary disk file. The editor
prompts for the name of the file.
MainMenu <Esc>
----------------------------------------------------------------------
Activates the pull-down menu system. Many of the editor's commands can
be executed via the menus.
MakeBotofScreen
----------------------------------------------------------------------
Scrolls the text in the window so that the cursor line becomes the
bottom line of the window.
MakeCtrofScreen <Shift F5>
----------------------------------------------------------------------
Scrolls the text in the window so that the cursor line becomes the
center line of the window.
MakeTopofScreen <F5>
----------------------------------------------------------------------
Scrolls the text in the window so that the cursor line becomes the top
line of the window.
MarkBlockBegin <Ctrl KB> or <Esc><B><B>
----------------------------------------------------------------------
Marks the beginning of a character Block. The Block is not shown until
the MarkBlockEnd command is executed at some position beyond the
beginning position of the Block. For an alternate method of marking
character Blocks, refer to the DropAnchor and MarkCharacter commands.
MarkBlockEnd <Ctrl KK> or <Esc><B><E>
----------------------------------------------------------------------
Marks the end of a character Block. The Block is not shown until the
MarkBlockBegin command is also executed at some position before the end
of the Block. For an alternate method of marking character Blocks,
refer to the DropAnchor and MarkCharacter commands.
MarkCharacter
----------------------------------------------------------------------
This command is used to mark a character Block. It is similar to the
DropAnchor command except the cursor position is NOT included as part of
the Block.
This command is provided as a replacement for the DropAnchor command. If
you want the cursor position included in character Blocks, then continue
to use DropAnchor; otherwise, replace the DropAnchor command with this
command.
MarkColumn <Alt K>
----------------------------------------------------------------------
This command is used to mark a column Block. Initially executing this
command marks the current cursor position. As the cursor is moved, the
Block "grows". Executing this command again marks the other end of the
Block at the current cursor position. If MarkColumn is executed in a
file that already contains a Block, the Block is extended to the current
cursor position.
MarkLine <Alt L> or <Esc><B><L>
----------------------------------------------------------------------
This command is used to mark a line Block. Initially executing this
command marks the current cursor line. As the cursor is moved, the
Block "grows" with it, line by line. Executing this command again marks
the other end of the Block at the current cursor line. If MarkLine is
executed in a file that already contains a Block, the Block is extended
to the current cursor line.
MarkWord <Ctrl KT>
----------------------------------------------------------------------
This command is used to mark a word Block. Executing this command marks
the word at the current cursor position. If there is no word at the
current cursor position, then no action is taken.
Match <Alt F3>
----------------------------------------------------------------------
Finds the corresponding "(", ")", "{", "}", "[", "]" character. This
command is primarily intended for programming languages in which
complicated expressions are grouped with one or more of these
characters. This command is very useful for finding unmatched
parentheses.
MoveBlock <Alt M> or <Esc><B><M>
----------------------------------------------------------------------
Moves (copies and deletes) the currently marked Block to the cursor
position. If the Block is a character Block (created using the
DropAnchor, MarkCharacter, or MarkBlockBegin/End commands) or a column
Block (created using the MarkColumn command), the Block is inserted into
the text beginning at the current cursor position. If the Block is a
line Block (created using the MarkLine command), it is inserted before
or after the current cursor line, depending on the configuration
setting, "Insert line blocks ABOVE the cursor line" (refer to the
"General Options" section of Chapter 2). The Block remains marked.
Blocks may be moved from one file to another.
NewFile
----------------------------------------------------------------------
Executes the Exit <Ctrl KD> command followed by the EditFile <Alt E>
command. Refer the Exit and EditFile commands in this chapter for more
information.
NextFile <Alt N> or <Alt F><N> or <Esc><F><N>
----------------------------------------------------------------------
Makes the next file in the ring the new current file when multiple files
are loaded.
NextPara
----------------------------------------------------------------------
Positions the cursor on the first character of the next paragraph.
NextWindow <Ctrl ON> or <Esc><W><N>
----------------------------------------------------------------------
Makes the window below the current window the new current window. If
the current window is at the bottom of the screen, the top window on the
screen becomes the current window.
OneWindow <Ctrl OO> or <Esc><W><O>
----------------------------------------------------------------------
Closes all windows except the current window and expands it to occupy
the entire screen.
PageDown <PgDn>
----------------------------------------------------------------------
Scrolls the text toward the end of the file, one page-full less one
line, at a time.
PageUp <PgUp>
----------------------------------------------------------------------
Scrolls the text toward the top of the file, one page-full less one
line, at a time.
Paste <Grey *>
----------------------------------------------------------------------
Inserts the contents of the Scrap Buffer at the cursor position. The
Scrap Buffer is loaded using the Cut or Copy commands. If the Scrap
Buffer contains a character or column Block, it is inserted at the
cursor position. If the Scrap Buffer contains a line Block, it is
inserted before or after the cursor line depending on the configuration
setting, "Insert line blocks ABOVE the cursor line" (refer to the
"General Options" section of Chapter 2).
Paste is also available within prompt boxes.
PasteOver <Ctrl PrtSc>
----------------------------------------------------------------------
This is a Paste command for column Blocks. It takes a column Block
which has been loaded into the Scrap Buffer using the Cut or Copy
commands, and places the contents at the current cursor position by
overlaying existing text, without shifting text to the right.
Pause
----------------------------------------------------------------------
This command is intended for use only within macros.
Temporarily suspends execution of a macro until either <Enter> or
<Esc> is pressed. Refer to the "Macro Pause" section of Chapter 3
for more information.
PQuit <Ctrl KQ> or <Alt F><Q> or <Esc><F><Q>
----------------------------------------------------------------------
This command initiates a protected quit. If the current file has not
been modified, it is discarded. If the current file has been modified,
the following prompt is issued:
+ Lose changes? =+
|#Yes############|
| No |
| Cancel |
+================+
Press <Y> to quit the current file. Press <N>, <C>, or <Esc> to cancel
the command, without discarding the current file.
If multiple files are being edited, this command makes the previous file
in the ring the new current file.
QEdit can be configured, when only a single file is being edited and the
PQuit command is issued, to either terminate or prompt for another file
to edit. Refer to the "General Options" section of Chapter 2 for more
information.
PrevFile <Ctrl KP> or <Alt F><P> or <Esc><F><P>
----------------------------------------------------------------------
Makes the previous file in the ring the new current file when multiple
files are loaded.
PrevPara
----------------------------------------------------------------------
Positions the cursor on the first character of the previous paragraph.
PrevPosition <Ctrl QP>
----------------------------------------------------------------------
Positions the cursor at the previous cursor position. Very helpful when
used with the GotoLine command. The GotoLine command can be used to go
directly to a certain line of the file. The PrevPosition can then be
used to return you to the previous cursor position.
PrevWindow <Ctrl OP> or <Esc><W><P>
----------------------------------------------------------------------
Makes the window above the current window the new current window. If
the current window is at the top of the screen, the bottom window on the
screen becomes the current window.
PrintAll <Alt P><A> or <Esc><P><A>
----------------------------------------------------------------------
Prints the entire contents of the current file.
PrintBlock <Alt P><B> or <Esc><P><B>
----------------------------------------------------------------------
Prints the entire contents of the marked Block. The marked Block must
be in the current file.
PrintEject <Alt P><F> or <Esc><P><F>
----------------------------------------------------------------------
Sends a formfeed character (ASCII 12) to the printer.
QuickHelp <F1> or <Alt H>
----------------------------------------------------------------------
Displays the Help Screen. A default Help Screen is provided with QEdit;
however, you may wish to design your own Help Screen. For more
information, refer to "The Help Screen" section of Chapter 2.
Quit
----------------------------------------------------------------------
Unconditional quit. The current file is discarded regardless of any
changes made to it. This command is for those who do not like software
that "nags" you. USE WITH CAUTION!
ReadBlock <Alt R> or <Alt F><R> or <Esc><F><R>
----------------------------------------------------------------------
Inserts the named disk file at the current cursor position.
RepeatCmd <Ctrl QQ>
----------------------------------------------------------------------
Repeats the last character, command, or macro entered from the keyboard
up to 9,999 times. You are prompted for the number of times to repeat.
Repeating automatically terminates when any command fails. For example,
if you are repeating a search and get a "Not Found", repeating then
stops. You can also enter <Ctrl Break> at any time from the keyboard to
cancel repeating.
RepeatFind <Ctrl L> or <Esc><S><A>
----------------------------------------------------------------------
Repeats the previous Find or FindReplace command.
ResizeWindow <Ctrl OG> or <Ctrl OS> or <Esc><W><R>
----------------------------------------------------------------------
Changes the size of the current window, if there are multiple windows on
the screen.
RestoreSettings
----------------------------------------------------------------------
This command is intended for use only within macros.
Restores settings saved by the SaveSettings command.
Return <Enter>
----------------------------------------------------------------------
The Return command behaves differently depending on Insert mode and
AutoIndent mode.
If Insert mode is OFF, the cursor is positioned at the first column of
the next line. If Insert mode is ON, the current cursor line is split
at the cursor position and any text to the right of and including the
cursor position is placed on a new line following the current line. If
the cursor is past the last character on the line, then a blank line is
added following the current line. The cursor is then moved to the first
column of the new line.
If AutoIndent is ON, spaces are inserted ahead of the cursor position to
align it with the text on the previous line.
If AutoIndent is OFF, the text is moved to the beginning of the next
line.
The Return command can be configured to split or not split lines when
Insert mode is ON. Refer to the "Advanced Options" section of Chapter 2
for more information.
SaveFile <Ctrl KS> or <Alt F><S> or <Esc><F><S>
----------------------------------------------------------------------
Saves to disk the file currently being edited. The file remains loaded,
ready for further editing.
SaveSettings
----------------------------------------------------------------------
This command is intended for use only within macros.
Saves the current settings of: Insert, AutoIndent, WordWrap, Sound, and
Screen Updating. See RestoreSettings.
ScreenLeft <Alt F5>
----------------------------------------------------------------------
Shifts the screen to the left, the number of columns specified in the
configuration program. Refer to the "Colors/Screen Options" section of
Chapter 2 for more information.
ScreenRight <Alt F6>
----------------------------------------------------------------------
Shifts the screen to the Right, the number of columns specified in the
configuration program. Refer to the "Colors/Screen Options" section of
Chapter 2 for more information.
ScrollDown <Ctrl Z>
----------------------------------------------------------------------
Scrolls the text one line at a time toward the end of the file. The
cursor remains on the same line of text until it reaches the top of the
screen.
ScrollUp <Ctrl W>
----------------------------------------------------------------------
Scrolls the text one line at a time toward the beginning of the file.
The cursor remains on the same line of text until it reaches the bottom
of the screen.
SetAutoIndentMode
----------------------------------------------------------------------
This command is intended for use only within macros.
Sets AutoIndent mode ON. To set AutoIndent mode OFF, do the following:
SetAutoIndentMode ToggleIndent
SetCtabwidth <Esc><O><C>
----------------------------------------------------------------------
Sets the cursor tab width. This is the width that is used when the
TabRt or TabLt commands are executed and Fixed Tabs mode is in effect.
SetEGA25
----------------------------------------------------------------------
Switches a monitor with an EGA or VGA card to 25-line mode. This
command has no effect if the video card is not an EGA or VGA type.
SetEGA43
----------------------------------------------------------------------
Switches a monitor with an EGA card to 43-line mode, or a monitor with a
VGA card to 50-line mode. This command has no effect if the video card
is not an EGA or VGA type.
SetInsMode
----------------------------------------------------------------------
This command is intended for use only within macros.
Sets Insert mode ON. To set Insert mode OFF (that is, set overwrite
mode ON), do the following:
SetInsMode ToggleInsert
SetPrintBotMargin <Alt P><O> or <Esc><P><O>
----------------------------------------------------------------------
Sets the number of lines that are left blank at the bottom of each page
during printing.
SetPrintDevice <Alt P><D> or <Esc><P><D>
--------------------------------------------------------------------
Allows the setting of the default print device. Choices include PRN,
LPT1 through LPT3, or any valid DOS filename. When executed, the
following menu is displayed:
+ Print Device =+
|#Prn###########|
| lpt1 |
| lpt2 |
| lpt3 |
| disk File... |
+===============+
SetPrintLeftMargin <Alt P><L> or <Esc><P><L>
----------------------------------------------------------------------
Sets the number of spaces that are printed as a left margin at the
beginning of each line. The default is zero.
SetPrintLineSpacing <Alt P><S> or <Esc><P><S>
--------------------------------------------------------------------
Allows the setting of the print line spacing, up to a value of 200.
1 = single-space, 2 = double-space, 3 = triple-space, etc.
SetPrintPageSize <Alt P><P> or <Esc><P><P>
----------------------------------------------------------------------
Sets the number of lines to be printed per page before sending a
formfeed. A value of zero allows continuous printing (no formfeeds
sent).
SetPrintTopMargin <Alt P><T> or <Esc><P><T>
----------------------------------------------------------------------
Sets the number of lines that are left blank at the top of each page
during printing.
SetPtabwidth <Esc><O><P>
----------------------------------------------------------------------
Sets the Physical Tab Width. This determines the width to which
physical tab characters found in files are expanded if Physical Tab
Expansion is set ON. It also determines the number of spaces to be used
for Tabs Out mode. Refer to the ToggleTabsExpand and ToggleTabsOut
commands in this chapter for more information.
SetRmargin <Ctrl OR> or <Esc><O><R>
----------------------------------------------------------------------
Sets the right margin for word-wrap and paragraph reformatting. WordWrap
mode is automatically switched ON whenever the right margin is set using
this command.
SetScreenOff
----------------------------------------------------------------------
This command is intended for use only within macros.
Turns screen updating OFF. You must turn screen updating back ON before
your macro prompts for input, or if there is some output from the macro
that you want displayed on the screen.
NOTE: QEdit AUTOMATICALLY turns screen updating back ON when the macro
is finished executing. Thus, it is not necessary to issue the
SetScreenOn command at the end of the macro.
SetScreenOn
----------------------------------------------------------------------
This command is intended for use only within macros.
Turns screen updating ON (see SetScreenOff).
SetSoundOff
----------------------------------------------------------------------
This command is intended for use only within macros.
Disables the tone sounded by the editor on failed searches.
SetSoundOn
----------------------------------------------------------------------
This command is intended for use only within macros.
Enables the tone sounded by the editor on failed searches.
SetTabType <Esc><O><Y>
--------------------------------------------------------------------
Determines the behavior of the tab key based on the tab type selected.
Choices are Fixed, Smart, and Variable. (Refer to the "Modes" section
of Chapter 1.) When executed, the following menu is displayed:
+== Tab Type ===+
|#Fixed#########|
| Smart |
| Variable |
+===============+
SetVarTabStops <Esc><O><V>
--------------------------------------------------------------------
Allows the setting of the tab stops used when Variable tab type is
selected.
SetWordWrapMode
----------------------------------------------------------------------
This command is intended for use only within macros.
Sets WordWrap mode ON. To set WordWrap mode OFF, do the following:
SetWordWrapMode ToggleWordWrap
Shell <F9> or <Alt F><O> or <Esc><F><O>
----------------------------------------------------------------------
Invokes a DOS shell. While in the shell, you can execute DOS and other
commands. When you are ready to leave the shell, type "exit" and press
<Enter>. This places you back in QEdit, exactly where you left off.
+QEdit Tip:-------------------------------------------------+
| You should NOT execute any TSR (terminate and stay |
| resident) programs from QEdit's Shell command. This |
| includes the DOS print and graph commands, and memory |
| resident programs such as Sidekick and Superkey. |
+-----------------------------------------------------------+
ShiftLeft <Shift F7>
----------------------------------------------------------------------
Shifts the contents of the currently marked Block (or the cursor line,
if the cursor is not in a marked Block) one position to the left. If
you issue this command when the leftmost character(s) of the line(s)
being shifted is in column 1, that character(s) is deleted to allow the
remainder of the line to shift left one position.
ShiftRight <Shift F8>
----------------------------------------------------------------------
Shifts the contents of the currently marked Block (or the cursor line,
if the cursor does not reside in a marked Block) one position to the
right. If you issue this command when the rightmost character(s) of the
line(s) being shifted is in column 1000, that character(s) is deleted to
allow the remainder of the line to shift right one position.
ShowEntryScreen <Alt F10>
----------------------------------------------------------------------
Displays the original DOS screen as it appeared upon initial execution
of the editor. Press any key to return to the edit screen.
To use this command, the option "Do you want the original screen
restored upon termination (Y/N)?" must be set to "Y" (the standard
setting). This option is set via the QCONFIG program, under
"Colors/screen."
ShrinkWindow <Ctrl OS> or <Esc><W><R>
----------------------------------------------------------------------
Changes the size of the current window, if there are multiple windows on
the screen.
Sort <Shift F3>
----------------------------------------------------------------------
Sorts a range of lines. The sort key is determined by a marked column
Block. The lines spanned by the column Block determines the range of
lines to be sorted. For more information about column Blocks, refer to
the MarkColumn command in this chapter.
Whether the lines are sorted in ascending or descending order is
determined by the ToggleSortDescending command. Ignoring or respecting
differences in case is determined by the ToggleSortCaseInSensitive
command. (The initial state of both of these toggles can be set via the
configuration program. Refer to the "General Options" section of
Chapter 2.)
The Sort command can only be used with a single, nonzoomed window on the
screen.
SpacesToTabs <Esc><O><M>
--------------------------------------------------------------------
Compresses occurrences of multiple spaces to tabs, where appropriate.
Spaces within quotes (single and double) are not compressed. If the
cursor is within a marked Block when this command is executed, only
spaces within the Block are compressed; otherwise, this common operates
on the entire file.
SplitLine <Alt S> or <Esc><E><S>
----------------------------------------------------------------------
Splits the current cursor line at the cursor position. Any text to the
right of and including the cursor position is placed on a new line
following the current line. If the cursor is past the last character on
the line, then a blank line is added following the current line. The
cursor position does not change.
StoreScrbuff <Ctrl BS>
----------------------------------------------------------------------
Copies the currently marked Block to the named Scratch Buffer. The
editor prompts for the name of the Scratch Buffer. The contents of
all Scratch Buffers are lost when the editor is terminated.
TabLt <Shift Tab>
----------------------------------------------------------------------
Positions the cursor at the previous tab position, as defined by the tab
width. If Insert mode is ON, the text to the right, including the
character at the cursor position, shifts left.
QEdit can be configured so that if Insert mode is ON, AND the cursor is
inside a marked Block, the entire Block shifts left by the current
cursor tab width. For more information on this option, refer to the
"Advanced Options" section of Chapter 2.
TabRt <Tab>
----------------------------------------------------------------------
Positions the cursor at the next tab position, as defined by the cursor
tab width. If Insert mode is ON, the text to the right, including the
character at the cursor position, shifts right.
QEdit can be configured so that if Insert mode is ON, AND the cursor is
inside a marked Block, the entire Block shifts right by the current
cursor tab width. For more information on this option, refer to the
"Advanced Options" section of Chapter 2.
TabsToSpaces <Esc><O><X>
--------------------------------------------------------------------
Expands tab characters to the appropriate number of spaces. Tabs within
quotes (single and double) are not expanded. If the cursor is within a
marked Block when this command is executed, only tabs within the Block
are expanded; otherwise, this command operates on the entire file.
ToggleBakups <Esc><O><B>
----------------------------------------------------------------------
Toggles (ON and OFF) file backups. If ON, QEdit creates a backup file
using the ".bak" file extension whenever a modified file is saved.
ToggleBoxDraw <Shift F1>
----------------------------------------------------------------------
Toggles (ON and OFF) Box Drawing mode. If ON, the cursor movement keys
(up, down, right, left) "draw" lines in the text, both up/down and
right/left. Very useful for creating charts and tables.
The letter "B" appears on the StatusLine when this mode is ON.
ToggleBoxType <Alt F1>
----------------------------------------------------------------------
This command prompts the User to select from different line drawing
styles for use with Box Drawing mode. The options are: Single, Double
Top, Double Side, Double, and Eraser.
ToggleCenterFinds <Esc><S><C>
--------------------------------------------------------------------
Toggles (ON and OFF) Find centering. If ON, this causes the Find and
FindReplace commands to center the found text vertically on the screen.
If OFF, the initial row the cursor was on when the command was initiated
does not change.
ToggleEGA43 <Ctrl F1>
----------------------------------------------------------------------
Toggles an EGA monitor between 25-line and 43-line mode or a VGA monitor
between 25-line and 50-line mode. This command has no effect if the
video card is not an EGA or VGA type.
ToggleEnterMatching <Esc><O><E>
----------------------------------------------------------------------
Toggles (ON and OFF) EnterMatching mode. If ON, the double quote,
parenthesis, and square bracket keys all automatically enter the
matching right-hand character when the left-hand character is entered.
For example, typing the "[" key automatically enters a "]" immediately
following.
ToggleIndent <Ctrl QI> or <Esc><O><A>
----------------------------------------------------------------------
Toggles (ON and OFF) AutoIndent mode. If ON, the cursor is positioned
at the current left margin whenever the <Enter> key is pressed. The
current left margin is determined by the first non-blank character on
the immediately preceding line.
Paragraph reformatting and word-wrapping also use the current left
margin when AutoIndent mode is ON.
The letter "A" appears on the StatusLine when this mode is ON.
ToggleInsert <Ins> or <Esc><O><I>
----------------------------------------------------------------------
Toggles (ON and OFF) Insert mode. If ON, text to the right of the
cursor on the cursor line is shifted whenever characters, spaces, the
Backspace command, the TabLt command, or the TabRt command is entered.
Also, executing the Return command causes the current line to split at
the cursor position.
The letter "I" appears on the StatusLine when this mode is ON.
TogglePrintLineNumbers <Alt P><N> or <Esc><P><N>
--------------------------------------------------------------------
Toggles (ON and OFF) the printing of line numbers.
TogglePrintPause <Alt P><U> or <Esc><P><U>
--------------------------------------------------------------------
Toggles (ON and OFF) pausing between pages while printing. If ON, the
editor pauses and requires a key press to continue after every page is
printed. This is useful with single sheet printers. When OFF, the
editor prints continuously without pausing.
ToggleShowCurrChar <Esc><O><H>
--------------------------------------------------------------------
Toggles (ON and OFF) the display of the ASCII and Hexadecimal values of
the current character on the StatusLine. When ON, the ASCII and Hex
values of the current character are displayed in the far right portion
of the StatusLine. If the cursor is past the end of the text on the
line, <EOL> is displayed.
ToggleSmartTabs <Ctrl QT>
----------------------------------------------------------------------
Toggles (ON and OFF) Smart Tabs mode. If ON, the TabRt and TabLt
commands place the cursor beneath the beginning of the next (or
previous) word on the first nonblank line preceding the current cursor
line.
ToggleSortCaseInsensitive <Esc><B><I>
--------------------------------------------------------------------
Toggles (ON and OFF) case-insensitive sorting. When ON, upper and lower
case letters are sorted as if they are of the same case. When OFF,
upper and lower case letters are sorted strictly by their ASCII value,
which places all upper case letters before the lower case letters.
ToggleSortDescending <Esc><B><N>
--------------------------------------------------------------------
Toggles (ON and OFF) descending sorting. When ON, sorting is performed
from highest value to lowest value (descending). When OFF, sorting is
performed from lowest value to highest value (ascending).
ToggleSwap <Esc><O><S>
----------------------------------------------------------------------
Toggles (ON and OFF) swapping to expanded memory or disk when the Shell
<F9> and Dos <Alt F9> commands are executed. (You can specify a default
for swapping, using the configuration program. Refer to the "Advanced
Options" section of Chapter 2 for more information.)
If ON, QEdit swaps itself out of DOS memory and to expanded memory
or disk when a shell command is executed. This leaves a small 2K
kernel of QEdit in DOS memory, freeing up the rest of DOS memory for
running other applications out of the shell such as compilers or
spreadsheets.
While you are in a shell, QEdit maintains a file with a ".SWP" file
extension in your root directory. It is very important that you do not
delete this file while in the shell.
ToggleTabsExpand <Alt V>
----------------------------------------------------------------------
Toggles (ON and OFF) Physical Tab Expansion mode. If ON, physical tab
characters (ASCII 9) found in a file are expanded into spaces according
to the Physical Tab Width set in the configuration program. If OFF,
physical tabs are displayed on the screen and a physical tab character
is placed in the text each time the TabRt command is entered.
ToggleTabsOut <Alt I>
----------------------------------------------------------------------
Toggles (ON and OFF) Tabs Out mode. If ON, continuous spaces in a line
of text are replaced with physical tabs (ASCII 9) according to the
Physical Tab Width set in the configuration program. Only spaces in
edited lines are replaced with physical tabs. Spaces falling between
single or double quotes are not replaced.
ToggleVarTabs <Esc><O><Y><V>
--------------------------------------------------------------------
Toggles (ON and OFF) Variable Tabs mode. When ON, tab stops are set to
those specified by the SetVarTabStop command, or by the default set by
the configuration program. When OFF, tab stops are set to a fixed tab
width, as specified by the SetCTabWidth command.
ToggleWordwrap <Ctrl OW> or <Esc><O><W>
----------------------------------------------------------------------
Toggles (ON and OFF) WordWrap mode. If ON, the cursor, along with the
word currently being typed, automatically advances to the next line
whenever a character is typed beyond the right margin. The right margin
can be permanently set using the configuration program (refer to the
"General Options" section of Chapter 2) or temporarily changed using the
SetRmargin command.
The letter "W" appears on the StatusLine when this mode is ON.
UndoCursorline <Ctrl QL>
----------------------------------------------------------------------
Reverses any changes made to the current cursor line (except changes
made with the FindReplace command). If the cursor has been moved from
the changed line or a file or window command is executed, the changes
cannot be undone.
UnKill <Ctrl U> or <Esc><E><U>
----------------------------------------------------------------------
Recovers the last deleted entry from the current file's Kill Buffer.
Deleted Blocks and lines are inserted immediately before the current
cursor line, and deleted words are inserted immediately before the
current cursor position.
The number of lines saved in the Kill Buffer may be set with the
configuration program. Refer to the "General Options" section of
Chapter 2 for more information.
UnmarkBlock <Alt U> or <Esc><B><U>
----------------------------------------------------------------------
Unmarks the currently marked Block.
Upper <Alt 1>
----------------------------------------------------------------------
Changes all characters in a marked Block to upper case. The cursor must
be within the marked Block. If the cursor is outside of the marked
Block or if no Block is marked, the character at the current cursor
position is changed to upper case.
WordLeft <Ctrl Cursor Left>
----------------------------------------------------------------------
Positions the cursor at the first character of the previous word.
WordRight <Ctrl Cursor Right>
----------------------------------------------------------------------
Positions the cursor at the first character of the following word.
WrapPara <Alt B>
----------------------------------------------------------------------
Reformats text from the current cursor position until a blank line or
end of file is encountered. If AutoIndent is ON, the line below the
cursor line is used for the left margin. Otherwise, a left margin of
zero is used. The right margin is determined by the configuration
program (refer to the "General Options" section of Chapter 2), or
interactively set by the SetRmargin command.
WriteBlock <Alt W> or <Alt F><W> or <Esc><F><W>
----------------------------------------------------------------------
Writes the currently marked Block to the named file. The editor prompts
for the name of the file.
A Save-As-Filename feature is possible with the WriteBlock command,
allowing you to save your current file under a different name. To use
this feature, execute the WriteBlock <Alt W> command with no marked
Blocks in the file. QEdit prompts with:
+--------------------------------------------------------------+
|File to write: |
| |
+--------------------------------------------------------------+
Enter the new filename. If the filename you specify already exists,
QEdit prompts with:
+======= Choose ========+
| Overlay existing file |
| Append to file |
+=======================+
Select the desired option, or press <Esc> to cancel.
If there is a marked Block in the file, the WriteBlock command operates
as usual, and writes the currently marked Block to the named file.
ZoomWindow <Ctrl OZ> or <Esc><W><Z>
----------------------------------------------------------------------
Toggles Zoom mode ON and OFF. If there are multiple windows on the
screen, entering the ZoomWindow command causes the current window to
fill the entire screen. Press ZoomWindow again to restore the other
windows to the screen.