Qedit 6.2 for HP-UX
User Manual
Doc-To-Help Standard Manual
by Robelle Solutions Technology Inc.
Program and manual copyright © 1977-2016 Robelle Solutions Technology Inc.
Permission is granted to reprint this document (but not for profit), provided that copyright notice is given.
Updated November 8, 2016
Qedit and Suprtool are trademarks of Robelle Solutions Technology Inc. Windows is a trademark of Microsoft Corporation. Other product and company names mentioned herein may be the trademarks of their respective owners.
Robelle Solutions Technology Inc.
7360 Ð 137 Street, Suite 372
Surrey, B.C. Canada V3W 1A3
Phone: 604.501.2001
Fax: 604.501.2003
E-mail: sales@robelle.com
E-mail: support@robelle.com
Web: www.robelle.com
Contents
Welcome to Qedit 1
Introduction........................................................................................................... 1
Documentation....................................................................................................... 2
User Manual.......................................................................................... 2
Printed Documentation........................................................................... 2
Additional Software................................................................................................ 2
Qcat........................................................................................................ 2
Qaccess.................................................................................................. 3
Compare................................................................................................. 3
Notation................................................................................................................ 3
Highlights 5
Highlights In Version 6.2......................................................................................... 5
Highlights In Version 6.1......................................................................................... 5
Highlights In Version 6.0......................................................................................... 5
Highlights In Version 5.9......................................................................................... 5
Highlights In Version 5.8......................................................................................... 6
Highlights In Version 5.7......................................................................................... 6
Installing Qedit/UX 7
General Installation Notes......................................................................................... 7
Who Should Use These
Instructions?.................................................... 7
Summary of Installation Steps............................................................... 7
Step 1: Log On as Root........................................................................................... 7
Step 2: Create Robelle
Directory................................................................................ 8
Step 3: Restore Files............................................................................................... 8
Step 4: Set Up PATH (Optional)............................................................................... 8
Step 5: Start the Qedit for
Windows Server (optional)................................................... 9
Getting a Quick Start with HP
Full-Screen Editing 11
Introduction......................................................................................................... 11
Starting Visual Mode............................................................................................. 12
Screen Layout....................................................................................................... 13
Home Line........................................................................................... 14
Status Line........................................................................................... 14
Text Lines............................................................................................ 14
Template Line....................................................................................... 14
Special Indicator Columns................................................................... 15
Using Your Keyboard............................................................................................ 15
Moving the Cursor............................................................................... 15
Editing the Text Lines.......................................................................... 16
Control Functions................................................................................ 16
Reflection for DOS Keyboards............................................................ 17
Other PC Keyboards............................................................................ 17
Function Keys...................................................................................................... 18
Browsing Through Your File.................................................................................. 19
Cut-and-Paste....................................................................................................... 20
Cutting Operations............................................................................... 20
Pasting Operations............................................................................... 21
Resetting Cut-and-Paste....................................................................... 21
Copying a Block of Text...................................................................... 21
Cut-and-Paste Between Files............................................................... 22
Dividing and Gluing Operations.......................................................... 23
Dividing Lines in Visual Mode............................................................ 23
Gluing Lines in Visual Mode............................................................... 23
Excluding Lines
From Visual Mode Display....................................... 24
Justifying Lines in Visual Mode.......................................................... 24
Renumbering Lines.............................................................................. 25
Inserting Blank Lines........................................................................... 25
Hold Files............................................................................................ 25
Marking Changes Without Using
Line Numbers................................. 25
Paste from a Non-Qedit File................................................................ 26
Home Line Commands.......................................................................................... 26
Finding Strings.................................................................................... 27
Changing Strings................................................................................. 27
Help on Visual Mode........................................................................... 27
Formatting Paragraphs......................................................................... 28
Undoing Changes in Visual Mode....................................................... 28
Refreshing the Screen.......................................................................... 28
Other Line Mode Commands............................................................... 29
Truncated Home Line........................................................................... 29
Exit from Visual................................................................................... 29
Getting a Quick Start with VT
Full-Screen Editing 31
Introduction......................................................................................................... 31
Home and End keys............................................................................. 31
Starting Screen Mode............................................................................................. 32
Troubleshooting................................................................................... 32
Screen Layout....................................................................................................... 32
Status Line........................................................................................... 33
Text Lines............................................................................................ 33
Message Line....................................................................................... 33
Using Your Keyboard............................................................................................ 34
Moving the Cursor............................................................................... 34
Editing the Text Lines.......................................................................... 35
Control Functions................................................................................ 36
Browsing Through Your File.................................................................................. 36
Cut-and-Paste....................................................................................................... 37
Resetting Cut-and-Paste....................................................................... 37
Copying a Block of Text...................................................................... 37
Splitting and Joining Lines..................................................................................... 38
Getting a Quick Start with Line
Mode Editing 39
Introduction......................................................................................................... 39
Adding Lines to a File........................................................................................... 39
Looking at the File................................................................................................ 40
Browsing the File................................................................................................. 41
Searching the File................................................................................................. 41
Editing Lines....................................................................................................... 42
Global Changes.................................................................................................... 44
Copying Lines...................................................................................................... 45
Moving Lines....................................................................................................... 45
Deleting Lines...................................................................................................... 46
Help Command.................................................................................................... 46
Saving the File..................................................................................................... 47
Open and Shut for Instant
Access............................................................................. 47
Running Qedit under HP-UX 49
Running Qedit...................................................................................................... 49
Visual Mode for HP Terminals................................................................................ 49
Screen Mode for VT Terminals................................................................................ 50
Edit Several Files at Once....................................................................................... 50
How to Edit Several Files?................................................................... 51
Starting a New Scratch File.................................................................. 51
Configuring Different Shells................................................................................... 51
Bourne and Korn Shells....................................................................... 51
C Shell................................................................................................. 52
Setting Up a PATH for Qedit.................................................................................. 52
Bourne and Korn Shells....................................................................... 52
C Shell................................................................................................. 53
Control Characters and stty..................................................................................... 53
Qeditmgr Configuration Files.................................................................................. 53
Default Set Commands........................................................................ 54
On-Line vs. Batch Access....................................................................................... 54
Command Line Options......................................................................................... 54
Initial Command Line: -ccmdstring..................................................... 55
Editing a Single File: -s....................................................................... 55
Exit with Verify: -v............................................................................. 55
"Discard Changes?" on
Exit................................................................. 55
HP-UX Notes....................................................................................................... 56
EDITOR Variable................................................................................ 56
Scratch File.......................................................................................... 56
Hold Files............................................................................................ 57
Shell Commands.................................................................................. 57
Shell Command History....................................................................... 58
Tab Stops............................................................................................. 59
Hardcoded File Names........................................................................................... 59
/opt/robelle/qeditmgr............................................................................ 59
$HOME/.qeditmgr............................................................................... 59
/opt/robelle/help/qedit........................................................................... 60
Visual Mode........................................................................................................ 60
Variables that Drive Qedit....................................................................................... 60
Setting Variables in Your Shell............................................................ 61
RCRTMODEL Variable...................................................................... 61
RPCVERSION Variable..................................................................... 64
RCRTWIDTH Variable....................................................................... 64
Function Key Labels............................................................................ 65
RCRTSTRAPSGH for Handshaking.................................................. 65
QEDITMGRTRACE Variable............................................................ 66
QEDCURWFILE Variable.................................................................. 66
QEDSTOREDPWD and QEDPROMPTEDPWD
Variables............. 66
ROBELLE Environment Variable........................................................ 67
Converting Qedit Files with
qcat............................................................................. 67
Differences Between MPE and
HP-UX...................................................................... 68
Open/Shut............................................................................................ 68
Current "*" File Name......................................................................... 68
Missing Features.................................................................................. 68
Qedit for Microsoft Windows 71
Introduction......................................................................................................... 71
Server Process...................................................................................................... 71
HP-UX 10.0........................................................................................ 71
Port Number........................................................................................ 73
Log Files............................................................................................................. 73
Console Messages............................................................................... 73
Access Log.......................................................................................... 74
Error Log............................................................................................. 74
Trace Log............................................................................................. 74
Log File Names.................................................................................... 74
Qedit Issues and Solutions 77
Running Qedit with Reflection................................................................................ 77
Alt-Y vs. :Reflect................................................................................. 77
Form Feed Causing Return/Line
Feed................................................. 78
Completion Codes................................................................................ 78
Controlling the PC............................................................................... 78
Accidental Exit from Reflection........................................................... 78
Changing the Exit Keystroke............................................................... 79
Files without NewLine
Characters............................................................................ 80
Lines, Strings and Ranges...................................................................................... 81
Qedit Commands 83
Introduction......................................................................................................... 83
General Notes....................................................................................................... 83
Abbreviations....................................................................................... 83
Uppercase or Lowercase...................................................................... 84
Multiple Commands per Line............................................................... 84
Comments on Command Lines............................................................ 84
Stopping Commands with
Control-Y.................................................. 85
Implicit Commands.............................................................................. 85
Function Keys...................................................................................... 85
Shell Commands.................................................................................. 86
Calculator Commands.......................................................................... 86
Add Command [A]................................................................................................ 87
Add (Adding New Lines).................................................................... 87
Add (Adding a String as a Line).......................................................... 89
Add (Copying Lines within a
File)...................................................... 89
Add (Moving Lines within a
File)....................................................... 90
Add (Copying Lines Between
Files).................................................... 91
Append Command [AP]......................................................................................... 93
Backward Command [BA/F5]................................................................................. 94
Before Command [B]............................................................................................. 95
CD Command [CD].............................................................................................. 97
Change Command [C]........................................................................................... 98
Change (Changing Strings).................................................................. 98
Change (Changing Columns)............................................................. 101
Close Command [CL].......................................................................................... 103
Colcopy
Command [COL]................................................................................... 104
Colmove
Command [COLM]............................................................................... 107
Delete Command [D]........................................................................................... 110
Destroy Command [DES]..................................................................................... 112
Divide Command [DI].......................................................................................... 113
:Do Command [DO]............................................................................................ 114
Exit Command [E/F8].......................................................................................... 115
Find Command [F/F4]......................................................................................... 116
Findup Command [FINDU/F3].............................................................................. 118
Form Command [FORM].................................................................................... 119
Forward Command [FO/F6].................................................................................. 120
Garbage Command [GAR].................................................................................... 121
Glue Command [G]............................................................................................. 122
Help Command [H/?]........................................................................................... 123
Hold Command [HO]........................................................................................... 124
Justify Command [J]............................................................................................ 126
Keep Command [K]............................................................................................. 133
List Command [L]............................................................................................... 136
:Listredo Command [LISTREDO/F7]..................................................................... 149
:Listundo Command [LISTU]................................................................................ 150
LS Command [LS].............................................................................................. 151
Lsort Command [LSO]......................................................................................... 152
Merge Command [ME]......................................................................................... 153
Modify Command [M]......................................................................................... 155
New Command [N].............................................................................................. 168
Open Command [O]............................................................................................. 169
Proc Command [P].............................................................................................. 173
Q Command [Q]................................................................................................. 174
:Redo Command [REDO]..................................................................................... 175
:Reflect Command [REFLECT]............................................................................. 177
Renumber Command [REN].................................................................................. 179
Replace Command [R]......................................................................................... 180
Set Command [S]................................................................................................ 181
Account.............................................................................................. 183
Alias................................................................................................... 183
Autocont............................................................................................ 185
Check................................................................................................. 186
Decimal.............................................................................................. 186
DL size............................................................................................... 187
Editinput............................................................................................. 187
Expandtabs......................................................................................... 188
Extentsize........................................................................................... 188
Extprog.............................................................................................. 188
Filename............................................................................................. 189
FORTRAN........................................................................................ 189
Halfbright........................................................................................... 189
Hints.................................................................................................. 190
Hppath............................................................................................... 190
Increment........................................................................................... 190
Interactive........................................................................................... 190
Justify................................................................................................ 191
Keep................................................................................................... 191
Language............................................................................................ 194
Left..................................................................................................... 197
Length................................................................................................ 198
Lib...................................................................................................... 198
Limits................................................................................................. 198
List..................................................................................................... 199
Maxdata............................................................................................. 199
Modify............................................................................................... 199
Open.................................................................................................. 202
Pattern................................................................................................ 202
Priority............................................................................................... 203
Prompt............................................................................................... 203
Redo................................................................................................... 203
Right.................................................................................................. 205
RL file name....................................................................................... 205
Shift................................................................................................... 205
Spell................................................................................................... 206
Statistics............................................................................................. 206
Stringdelimiters.................................................................................. 206
Tabs................................................................................................... 207
Term................................................................................................... 208
Text.................................................................................................... 209
Totals................................................................................................. 211
UDC.................................................................................................. 211
Undo.................................................................................................. 211
Varsub............................................................................................... 212
Visual................................................................................................. 213
Warnings............................................................................................ 226
Whichcomp........................................................................................ 226
Window............................................................................................. 226
Work.................................................................................................. 227
Wraparound....................................................................................... 229
X........................................................................................................ 229
Zip...................................................................................................... 234
Shut Command [SH]........................................................................................... 235
Spell Command [SP]........................................................................................... 236
Text Command [T].............................................................................................. 237
Undo Command [UN].......................................................................................... 243
Up Command [UP/F2]......................................................................................... 245
Use Command [U]............................................................................................... 246
Verify Command [V]........................................................................................... 247
Visual Command [VI/F1]..................................................................................... 248
Words Command [W].......................................................................................... 250
Zave Command [Z].............................................................................................. 251
ZZ Command..................................................................................................... 252
Calculator Command [=]...................................................................................... 253
Troubleshooting and Error
Messages 257
Introduction........................................................................................................ 257
Messages........................................................................................................... 257
Quit Errors......................................................................................................... 260
Errors in Visual................................................................................................... 260
Using Visual with X.25..................................................................... 260
Using Visual on HP-UX................................................................... 260
Terminals Supported by Visual.......................................................... 260
Problems with 700/9x Terminals....................................................... 261
Visual Error Messages....................................................................... 261
File Formats 265
Introduction........................................................................................................ 265
Qedit Workfiles................................................................................................... 265
Original Format Workfiles.................................................................................... 265
Jumbo Workfiles................................................................................................. 266
External Files..................................................................................................... 267
Regular Expressions 271
Introduction........................................................................................................ 271
Metacharacters..................................................................................................... 271
Character Class................................................................................................... 273
Escape Character.................................................................................................. 275
Escaped Sequences in Regular
Expressions............................................................... 276
Backreferences in Regular
Expressions..................................................................... 277
Escaped Characters in
Replacement String................................................................ 278
Qedit Glossary 279
Introduction........................................................................................................ 279
Terms................................................................................................................ 279
Abbreviating...................................................................................... 279
Batch.................................................................................................. 279
Calculator........................................................................................... 280
Column.............................................................................................. 280
Command........................................................................................... 281
Control Character............................................................................... 281
CRT................................................................................................... 282
Current Line....................................................................................... 282
Defaults.............................................................................................. 282
External File....................................................................................... 282
File Names......................................................................................... 283
Full-Screen Editing............................................................................ 283
Hold File............................................................................................ 284
J Option............................................................................................. 284
Jumbo Files........................................................................................ 284
Keep File............................................................................................ 284
Language............................................................................................ 284
Left..................................................................................................... 285
Length................................................................................................ 285
Line.................................................................................................... 285
Linenum............................................................................................. 286
Margins.............................................................................................. 286
Memory Lock.................................................................................... 287
Patterns.............................................................................................. 287
Quiet-Q Option.................................................................................. 288
Range................................................................................................. 288
Rangelist............................................................................................ 288
Relative Line Numbers....................................................................... 290
Right.................................................................................................. 290
Shifting.............................................................................................. 290
String................................................................................................. 291
Tab..................................................................................................... 291
Template-T Option............................................................................. 291
Visual Editing.................................................................................... 292
Window............................................................................................. 292
Workfile............................................................................................. 293
Special Characters................................................................................................ 293
? Means Help, Nonprinting
Characters, Alphanumeric (in Patterns) or Optional (in Regexp).......................................................................... 294
$ Means Hex, Memory Lock, List
Option, Previous File or End-Of-Line (in Regexp).............................................................................................. 294
^ Means Findup, Control-Char,
Start-of-line (in Regexp) or Negate (in Regexp).............................................................................................. 295
. Means Nonprinting, Reset,
Decimal Point or Any Character (in Regexp)........................................................................................................... 295
! Means Shell Script or Too
Long...................................................... 296
% Means Octal or String.................................................................... 296
* Means Current, Refresh,
Multiply or Quantifier (in Regexp)......... 296
\ Means Previous, String,
Literal Match (in Regexp) or Special Characters (in Regexp).............................................................................................. 297
/ Means Prompt, Range
Delimiter, Stop, Exit, or Divide................... 298
[ Means FIRST, [default] or
Start Class (in Regexp)......................... 298
] Means LAST or End Class (in
Regexp).......................................... 298
{ } Are for Comments or
Indentation................................................ 299
@ Means ALL................................................................................... 299
& Means Literal Match...................................................................... 299
: Means Shell Commands or
String................................................... 299
; Means Multiple Commands............................................................. 300
, Means a List..................................................................................... 300
= Means Copy or Calculate................................................................ 300
< Means Move, I/O
Redirection or Backward Page.......................... 301
> Means Forward Page, I/O
Redirection, Modify or Qhelp.............. 301
" Means String................................................................................... 301
( Means Start Parameter,
Command or Subpattern (in Regexp)......... 302
) Means End Parameter, Command
or Subpattern (in Regexp).......... 302
+ Means Ahead Some Lines, Add
or Quantifier (in Regexp)............ 302
- Means Back Some Lines, Minus
or Range (in Regexp).................. 303
# Means Numeric Pattern................................................................... 303
~ Means Spaces (Pattern),
Recent Page or Field................................ 303
How to Contact Robelle 305
Support............................................................................................................. 305
Index 307
Welcome to Qedit, the fast, full-screen text editor for MPE and HP-UX. To get into Qedit/UX, enter this command:
/opt/robelle/bin/qedit
Qedit version 6.1 has screen-editing, function keys and commands:
Commands:
Add |
FINDUp |
Open |
ZZ |
Add(=copy) |
FORM |
Proc |
%ext |
Add(<move) |
FORward |
Q |
shell |
Add(=file) |
GARbage |
REDO |
|
Append |
Glue |
RENum |
|
Backward |
Help |
Replace |
|
Before |
HOld |
Set |
|
Change |
Justify |
SHut |
|
COLcopy |
Keep |
SPell |
|
COLMove |
List |
Text |
|
Delete |
LISTREDO |
UNDo |
COmp |
DEStroy |
LISTUndo |
Use |
RUN |
Divide |
LSort |
Verify |
mpe |
DO |
MErge |
VIsual |
Udc |
Exit |
Modify |
Words |
Cmdfile |
Find |
New |
Zave |
=calc |
Function Keys:
F1 Upd Next/Visual |
F2 Roll Up |
F3 Findup |
F4 Find |
F5 Backward |
F6 Forward |
F7 Do ===> |
F8 Exit |
Qedit comes with a User Manual and
a Change Notice. You may have received printed copies of these. If you wish to
have printed copies, you can order them by filling out the form on our web
site.
They
are also available as PDF or HTML files. You can download the files from the
Robelle web site at: http://www.robelle.com/library/manuals/.
The
user manual contains the full description of all the Qedit commands, as well as
usage tips. The manual is up-to-date with all the latest changes incorporated
in Qedit.
The
latest user manual and change notice are available in Adobe PDF format. If you
do not already have the Adobe Acrobat reader, you can get a copy from http://www.adobe.com/prodindex/acrobat/readstep.html. If you wish to have printed
copies, you can order them by filling out the form on our web site.
Qedit comes with additional software:
á qcat for converting Qedit files,
á qaccess archive library for reading Qedit files, and
á Compare/UX for comparing two text files.
Qcat is a filter program similar to cat and zcat. Qcat reads a set of Qedit files and prints the lines on standard output. Type man qcat for more information.
qcat QeditFile > TextFile
Qaccess is an archive library for reading Qedit files. It has two parts:
á a header file qaccess.h in /opt/robelle/include,
á and an archive library qaccess.a in /opt/robelle/lib.
Type man qaccess for more information.
Compare/UX compares two text files (Keep or Qedit format) and prints out the differences. The basic comparison unit is a line. Compare/UX identifies three types of differences:
á lines that are in the first file but not in the second;
á lines that are in the second file but not in the first;
á and lines that are in both files, but don't match.
Type man compare for more information.
This manual uses a standard notation to describe commands. Here is a sample definition:
VERIFY [ @ | ALL ]
[ keyword ...]
1. UPPERCASE - If the commands and keywords are shown in uppercase characters in a syntax statement, they must be entered in the order shown (example: ALL). However, you can enter the characters in either uppercase or lowercase.
2. Lowercase, highlighted - These are "variables" to be filled in by the user (example: keyword). The variables may be highlighted by underlining or italics. Each such "variable" is defined elsewhere (see the "Qedit Glossary" on page 279 when you have trouble). In the Help command, highlighting is not available, so these variables appear simply in lowercase.
3. Brackets - enclose optional fields (example: [ALL]).
4.
Braces - enclose comments which are not part of the
command. However, braces and comments are accepted in actual Qedit commands.
/listq filename {Q means without line numbers}
5. Up lines - separate alternatives from which you select (example: SET CHECK [ON|OFF]). The choices are sometimes listed on several lines without "up lines".
6. Dot-dot-dot (...) - indicates that the variable may be repeated many times in the command.
7. Other special characters - literal symbols that must appear in the command as they appear in the manual (for example, "=" in Add linenum = rangelist).
In examples, there is an implied Return key at the end of each line.
In examples in our documentation, we generally show Qedit commands preceded by the Qedit "/" prompt. However, in Qedit/UX the default prompt is actually "qux/". Note that you can change the prompt string with Set Prompt.
Control characters, generated by holding down Control while striking another key, are either spelled out (e.g., Control-H) or abbreviated with a circumflex prefix (e.g., ^H).
When Qedit asks you a question, the default answer is shown in [brackets]. The default is the answer that Qedit will assume if you press only the Return key.
This is an
overview of all the changes implemented in this version.
á The Qedit for Windows Server would not honour
an administrative lock and other reasons why an account would not be accessible.
This is an
overview of all the changes implemented in this version.
á The Verify command incorrectly parsed certain
entries near the end of the verb table such as ZZ, String etc.
á The Calendar intrinsic is being phased out of
Qedit and all Robelle products, which will help all products run past 2028.
á
Qedit on HP-UX
now has the command set compatvarsub on which does not replace $-variables that
are not defined with spaces. It simply passes the $token, thru to the Qedit
command interpreter if the variable is not defined.
á
Qedit now
recognizes files with the extension of .COB and .cob as Cobol files on HP-UX.
á
Qedit now support
long user names on HP-UX 11.31, implemented by lugadmin.
á
Qedit now
supports the HP-UX Long Password feature on HP-UX 11.31. Error messages have
been improved for login issues.
á
Qedit would
return a status code of 123 upon exit even if an error had not occurred.
á
Visual Mode
updates would fail with Bad format error if the length of the file was less
than 52.
á
Qedit did not
recognize .cpy files as being Cobol.
á
Regular
Expressions. Qedit would improperly report the error "String longer
than maximum allowed" if the expression specified is longer than the
window of the rangelist.
á
Qedit for HP-UX
did not support Shadow Passwords properly for all versions of HP-UX.
á MPE commands with long Info= string do not cause
stack corruption anymore.
á The Qedit for Windows server correctly returns
error 90 when the modified record length is greater than the maximum allowed in
the current work file.
á A rangelist can now have an AND keyword
with up to 10 search strings. All strings must be found on a single line for
the line to be selected. Each string can have its own search window.
á
Escape sequences to set/reset terminal tab stops
appear in output file when Qedit's output is redirected as in
$ qedit > qedit.out
Qedit now resets the tab stops when running in interactive mode only.
Redirection is assumed to be batch mode.
á The server correctly returns error 90 when the
modified record length is greater than the maximum allowed in the current
workfile.
Here we describe how to install and configure Qedit. The following are general notes about installing Qedit.
The system manager should use the following installation instructions to install Qedit/UX. No one can be using Qedit/UX during the installation. The installation should only take a few minutes.
To install Qedit/UX, follow these steps:
1. You must log on as root.
2. You must create the correct directory structure.
3. Qedit/UX and its associated files must be restored from the distribution tape.
4. You can set up a PATH for Qedit/UX or copy it to an existing directory in your PATH. (optional step)
5. If you have the Qedit for Windows server, you need to start the daemon process. (optional step)
There are two ways to log on as root:
1. Exit from HP-UX and log on with root as the user name.
2.
If you are already logged on, you can execute this
command:
su
-
In either case, you have to supply the user password for root.
Qedit/UX is installed in /opt/robelle. Before restoring the Qedit/UX files you must first create the /robelle directory.
mkdir /opt/robelle
Use the following command to restore the Qedit/UX files from the distribution tape:
tar xv /opt/robelle
This command assumes your tape device is /dev/rmt/0m. If it is not, you need to specify your tape device by using the "f" option in the tar command. For example, if your tape device is /dev/rmt/1m, you need to use the following command to restore the files:
tar xvf /dev/rmt/1m /opt/robelle
Once the files have been restored, you can run the new version of Qedit/UX:
/opt/robelle/bin/qedit
You invoke Qedit with this command:
/opt/robelle/bin/qedit
If you just type
qedit
to invoke Qedit/UX, you must either add /opt/robelle/bin to your PATH or copy /opt/robelle/bin/qedit to a directory that is currently on your PATH. Similarly, the man pages for Qedit are found in /opt/robelle/man/man1/qedit.1. To make the man pages available to everyone, you can either add /opt/robelle/man to your MANPATH or you can copy the man pages to a directory that is currently on your MANPATH.
Details of how to set up either PATH or MANPATH on a system-wide or user basis can be found in the chapter "Running Qedit under HP-UX."
If you have the Qedit for Windows server software, you must start the Qedit/UX daemon process before any Qedit clients can connect to your HP-UX machine. To allow users to connect to the Qedit/UX daemon process, you must log on as root and issue this command:
qedit -d
The Qedit server process requires three log files. By default, these files are located in the following directory:
/opt/robelle/log/qedit/
If you have moved Qedit to a different directory, Qedit tries to identify its current location and adjust the location of the log files. If it is not able to correctly identify its location, it will default back to /opt/robelle.
If you wish to explicitly identify the logfiles location, you can perform the following steps:
1. Set the ROBELLE environment variable with the new directory name before you start the Qedit server process.
2. Make sure the new directory has exactly the same structure as the /opt/robelle directory.
Qedit aims to provide everything an MPE or HP-UX programmer could need to write COBOL, PowerHouse, or other programs, and to prepare documentation. Therefore, Qedit has Line mode for batch editing and full-screen mode for interactive editing. On HP terminals, Qedit's full-screen mode is called Visual mode. On VT terminals, QeditÕs full-screen mode is called Screen mode. See ÒGetting a Quick Start with VT Full-Screen EditingÓ on page 31.
This feature does not work on the hpterm terminal emulator at the moment. |
As of HP-UX 11.0, HP has dropped support for block-mode terminals. For this reason, full-screen editing as implemented on HP3000 computers only works on HP-UX versions earlier than 11.0. On HP-UX 11.0 or later, full-screen editing is available in Screen mode (Set Visual Screen On) on VT-type terminals or in Visual Blockemulation emulation (Set Visual Blockemulation On) on HP-type terminals. |
As its name implies, Blockemulation emulates block-mode operations by reading each line one by one instead of reading the whole screen in a single operation. Depending on the type of connection, this process might take a few seconds as the cursor moves down the screen.
Qedit's Visual mode is a powerful but friendly full-screen editor designed specifically for programmers. It gives you full access to the editing capabilities of your terminal in block-mode, with low system overhead. You can move, copy, mark and delete blocks of text with Visual's cut-and-paste functions, and page backward and forward through your file with function keys. To use Visual mode, you must have an HP terminal or an HP terminal emulator (e.g., Reflection from WRQ).
In Visual mode, you have access to all Line mode commands (including UDCs, command files, compiling, linking and running programs, shell scripts, and string searching and changing). Qedit's search and replace functions aim to be simple, fast and powerful (e.g., ignore embedded words, etc.). The Undo command allows you to cancel any previous edits to your file, working back to the state at which you started. Using the optional Open and Shut feature, you can switch between files instantly.
Visual mode is a good introduction to the HP operating systems for users who don't work on HP computers all day. Those who may particularly benefit are novice users, or users who run Qedit only to update a report skeleton once a week. These occasional users no longer have to memorize editing commands. Visual mode provides a familiar environment where novices can make changes to the entire screen, just as they do on PC editors. You can even configure some electronic mail packages (HPDesk, elm), to put your users directly into Visual mode when they edit a message.
After you have invoked Qedit, and Texted or Opened a file, you switch from Line mode to Visual mode by typing VI or pressing F1. If you don't have a file open, Qedit opens a scratch file and, if empty, fills it with a screenful of blank lines.
VI [ linenum | "string" ] or press F1
(Default: linenum = *)
Whereas in Line mode you type in command and text lines ending each with a Return, in Visual you edit a full screen of text in block-mode using the terminal keyboard. Since your terminal is off-line from the computer, you can use its cursor and editing keys. You edit by moving the cursor around the screen, inserting and deleting lines and characters. Press Enter to save your changes. To move through the file, you have the convenience of eight function keys, such as F6 Forward One Page.
Visual mode in Reflection for Windows, showing cut-and-paste indicators
You copy, move, hold, and delete blocks of text easily by placing "cut-and-paste" indicators at the start of the line. You may type Line mode commands at the home line ===> and execute them via the Enter or the F7 key. Combining the cut-and-paste functions with the Open and Shut commands, you can also copy and move text quickly between different Qedit files. Use the ZZ cut-and-paste indicator with any command to mark text easily.
The Set Visual command controls how Visual mode operates and allows great latitude in configuring Visual to your own liking. For example, you can choose to have automatic update; decide where the current line or cursor appears; and select how many lines will carry over when you page up or down.
When you are done, exit Visual mode using F8, then Keep or Shut your file. Press F8 again to leave Qedit.
===>
Okay 1691.75 WFILE.DOC.TACCT "verify"(u) Move Ready
* procedure abc;
+1 begin
+2 integer def;
//
....+....10...+....20...+...
The screen starts with the home Line, followed by the status Line, several text Lines, and ends with the template Line. Columns 3 and 4 of text lines sometimes contain special characters and are called the indicator columns.
You type commands, search for strings and for line numbers after the ===> on the home line.
===>
These are executed when the F7 or Enter key is pressed.
The home line is also used by Qedit to print error messages. You must clear the error message by pressing the F7 or Enter key before you can type another command in the home line.
The second line shows the status, the current line number (i.e., that of the * line), the name of the file you are editing, the current string with its window, and any pending cut-and-paste task.
Okay 1691.75 WFILE.DOC.TACCT "verify"(u) Move Ready
If you have Texted a file into Qeditscr, the status line shows the name of the Text file, which is also your default Keep file.
By default you see the * (current) line and 19 lines after it. Each line is prefixed by the relative line number, and two columns for special indicators.
* procedure abc;
+1 begin
+2 integer def;
Use Set Vis Above and Set Vis Below to adjust the number of lines shown above and below the current line.
The last line has // and a column template. The // signals end-of-screen to Qedit and must not be erased.
// ....+....10...+....20...+...
Visual uses more than 76 columns for text on Reflection, Qcterm, a 2393/97, 2626, or 700/9x terminals.
Qedit leaves columns 3 and 4 of the text lines for you to enter cut-and-paste operators (i.e., MM, CC, HH, etc.). Also, Qedit may print one of two special indicators in these columns:
! |
line extends beyond the visible right margin |
? |
line contains control characters, shown as dots |
An ! means the line extends beyond the right terminal margin. To shift the screen image left, type Set Left 55 at the Visual home line and press F7.
A ? means the line contains nonprinting characters such as Nulls, Escapes, Bells, Tabs or possibly Roman-8 extended characters. Qedit replaces these characters with dots (.) in Visual mode, and does not allow you to make changes. These ? lines are not updated when you press Enter.
To edit Bells, Escape sequences, Tabs, ShiftOuts and ShiftIns in Visual, use Set Vis Bell, Set Vis Esc, Set Vis Tab, Set Vis SO and Set Vis SI. All these specify substitute characters to be shown instead of dots. To edit other control codes, use Modify or Change from the ===> line. If you turn Set Editinput Extend Off, Qedit regards Roman-8 characters as nonprinting noise and show them as dots.
In Visual mode, the keyboard gives you the power to move around the screen, edit text, and control the flow of Qedit.
You move around the screen using the cursor keys and others:
Cursor Left |
Move one space to left |
Backspace |
Move one space to left |
Cursor Right |
Move one space to right |
Cursor Up |
Move one space up |
Cursor Down |
Move one space down |
Return |
Down to next line, back to column 5 |
Home Up |
Move to ===> line |
Shift-Home |
Move to bottom of screen |
Tab |
Move to next right Set TAB column |
Shift-Tab |
Move to next left Set TAB column |
Prev Page |
Only moves around terminal memory |
Next Page |
Only moves around terminal memory |
You revise the screen image using these keys:
Space bar |
Move cursor right and erase character |
any char |
Overwrite cursor and move it right |
Del Char |
Remove character at current cursor |
Ins Char |
Enable "insert"; use again to disable |
Ins Line |
Insert blank line above current line |
Del Line |
Delete line at current cursor |
Clear Line |
Erase to the end of the line |
Clear Display |
Avoid! Recovery: Home Up,*,F7 |
To save the changes you have made on the screen,
Enter |
Send screen image to Qedit, update file |
To return from Visual mode to Line mode:
F8 |
exit from Visual |
Some other keys:
Select |
Useless in Qedit |
Stop |
Do not use in Visual |
Break |
Disabled in Visual |
Reset |
Use if screen locks up, press Enter |
Esc |
First key of Escape sequences |
Del |
Does not delete anything! |
If you are using a PC with Reflection for DOS, you need to map the PC keys into the HP keys.
Note that the PC keyboard has two keys labeled Enter, which are used differently in Qedit. The Enter key above the Right Shift key is called the Return key in this manual, and is used to execute commands in Line mode. In Visual mode, this key moves the cursor down by one line. The other Enter key (on the numeric keypad) is called the Enter key, and is used to update the screen in Visual mode.
Here are the default Reflection keystrokes for common functions:
Terminal Keyboard |
Reflection Key Sequence |
Enter |
Enter on the numeric keypad. If that doesn't work, try the "+" on the numeric keypad, or try Shift-F10 |
Home Up |
Control-Home |
Shift-Home |
Control-End |
Ins Line |
Alt-I |
Del Line |
Alt-D |
Clear Line |
Alt-K |
Clear Display |
Alt-J (avoid in Visual!) |
User keys |
F9 |
System keys |
F10 (then F7 for help) |
Additional Functions |
Reflection Key Sequence |
Begin Line (Column 1) |
Home |
End Line |
End |
Help about Reflection |
Alt-H |
Exit |
Alt-X |
AdvanceLink is similar (Alt-H is help, Alt-I is Insert Line, Alt-D is Delete Line), but Clear Line is Alt-L, and Enter is Alt-F3. Other terminal emulators have their own keystrokes for common functions. See your emulator's manual for details.
Much of the convenience of Visual mode is due to the power built into the eight user function keys: F1 through F8.
F1 |
Update and go to next page |
F2 |
Roll Up Screen n lines, as per Set Vis Roll |
F3 |
Findup (search back for current string) |
F4 |
Find (search ahead for current string) |
F5 |
Backward One Page |
F6 |
Forward One Page |
F7 |
Execute command typed in ===> line |
F8 |
Exit from Visual back to Line mode |
Qedit reads the current page and updates the file, then displays the next page. The F1 key combines the Enter key and F6 (Forward) in a single key. However, F1 does not execute any command typed in the home line as the Enter key would.
Qedit clears the screen and displays a new one that is rolled up n lines (default: 6), where n is controlled by Set Vis Roll.
Qedit searches backward in the file, starting from the * line, until it finds a line that contains the current string. Qedit clears the screen and displays a new page, with * positioned at the line that contains the found string. Visual also displays the target string on the Status line.
Before you can use F3, you must establish the string for which to search. Type the string in quotes prefixed by a circumflex (^"string") at the ===> on the home line and press F7, to do the first Findup.
Qedit searches forward in the file, starting from the * line, until it finds a line that contains the current string. Qedit clears the screen and displays a new page, with * positioned at the line that contains the found string. Visual also shows the target string on the Status line.
Before you can use F4, you must enter the target string. Type the string in quotes ("string") at the ===> on the home line and press F7, to do the first Find.
Qedit clears the screen and displays the previous page. By default, the top line of the original screen becomes the bottom line of the new screen. Use Set Vis Carry to change the number of lines carried over to the new screen.
Qedit clears the screen and displays the next page. By default, the bottom line of the original screen becomes the top line of the new screen. Use Set Vis Carry to change the number of lines carried over to the new screen.
Use the F7 key to execute commands. The current screen is not updated, unless you have Set Vis Update On. Type whatever command you want to execute after the ===>. This includes "strings" to find, Qedit Line mode commands such as Open or Justify, shell commands, calculator commands (=5/6), and special Visual commands (e.g., * for Refresh, ? for Help). Then press F7. Qedit reads only the home line and executes the function. To first save your screen changes and then execute, use Enter instead of F7.
See the section "Home Line Commands" for complete details.
To return from Visual mode to Line mode, use the F8 key. Press F8 again once you are in Line mode to exit Qedit and return to HP-UX. If for some reason F8 fails to exit from Visual, type / at the ===> and press F7 or the Enter key. This should get you back to Line mode.
Line Number. Move to a specific line (e.g., to line 45).
===>45 F7
> and <. Move ahead or back a page. Use with a number to move several pages (e.g., ahead 3 pages).
===>>3 F7
+ and -. Move forward or backward any number of lines (e.g., back 200 lines). If you do not specify a number, the default is the number of lines configured by Set Vis Roll.
===>-200 F7
~ The Tilde Key. Return to the "most recent" screen. If you jump from line 1500 to line 451, ~ sends you back to 1500. This is handy if you jump briefly to another part of your file to check something then want to get back to your original location.
The tilde is also available from line-mode but it has to be enabled by removing it from the list of string delimiters. In order to do this, you could do the following:
/V stringd
Set STRINGDelimiters "|\~{}[]_@?!#>%&:'"
/S stringd "|\{}[]_@?!#>%&:'"
Notice that tilde has been removed from the delimiter list entered on the Set command.
===>~ F7
FIRST and LAST. Move to start or end of file.
===>first F7
Scrollup Character.
This character can be entered in the cut-and-paste columns to scroll up in the
file. A single character scrolls the number of lines defined by Set Visual
Roll. If the character is entered more than once, Qedit scrolls up that many
times the number of Roll lines. For example, enter 4 minus signs anywhere to scroll
4 X Roll lines. The default scrollup character is a minus sign. It can be
changed to something else with Set Visual Scrollup.
It is never necessary to remember line numbers in full-screen mode. Visual allows you to mark, hold, move, copy, replicate, or delete a block of text, all visually. This is called "cut-and-paste" and is done by putting special indicators in the two blank columns at the left of each text line before you press the Enter key. For example, DD indicates a block of text to be deleted.
Order Is Not Important (But One at a Time). You can enter the indicators in any order and on different screens, but 10,000 is the maximum number of lines you can cut. When you have defined a complete cut-and-paste task, Qedit completes the task and removes the indicators. You can only perform one cut-and-paste task at a time.
Single Line |
Block of Text |
Function |
M |
MM |
Move line or block of text |
C |
CC |
Copy line or block of text |
D |
DD |
Delete line or block of text |
H |
HH |
Hold a line or block of text |
|
HJ |
Append block of text to Hold file |
|
JJ |
Justify a block of text |
Z |
ZZ |
Mark a line or block of text |
A |
Insert text "after" this line (or use F for "following") |
B |
Insert text "before" this line (or P for "preceding") |
AH |
Insert Hold file after this line (or use FH) |
BH |
Insert Hold file before this line (or use PH) |
A0 |
Insert Hold0 file after this line (or F0) |
B0 |
Insert Hold0 file before this line (or P0) |
R |
A line to be replicated after itself |
Rn |
A line or block to be replicated n times (max. 9). (See "Copying a Block of Text" below.) |
Display Enhanced. When the cut-and-paste task is partly defined, Qedit highlights the indicated lines and adds a warning to the status line.
You can cancel a pending cut-and-paste task (if you have not pressed the final Enter) by entering a period (.) in the ===> line and pressing F7.
===>. F7
Paste One Copy at a Time. Suppose you want to copy a section of text from one place in your file to another. Here is one way to do it. First, locate the screen containing the start of the block that you want to copy, using a string search via the home line. Move the cursor down to the first line you want to copy, then press Cursor Left twice and type "CC" in the blank columns provided. Press Enter and you should see that line highlighted in inverse video.
Second, find the end of the text section and mark the last line with another "CC". After you press Enter, you should see the entire block highlighted.
Third, go to the screen where you want to insert a copy of the text. Move the cursor down to the line before the desired insertion point, Cursor Left once and type "A" (for after). Press Enter and the block should appear.
Paste Multiple Copies at Once.
When working with a block of text, you can use the same cut-and-paste codes to mark the beginning and the end of the block (i.e., HH on the first line of the block and HH again on the last line). The only exception to this is the block replication code.
In this case, you would use RR to mark the beginning of the block and Rn to mark the end of the block, where n represents the number of times you want that block replicated. For example, to have the same block replicated five times, you would enter R5. The new blocks are inserted immediately after the last line of the copied block.
The original lines marked for replication are written to the Hold0 file.
Using Visual mode's cut-and-paste functions, you can copy and move blocks of text between files.
You can only edit one file at a time in Qedit, but you can switch quickly between different Qedit files by Opening and Shutting them.
/o file1
Open file1 List * = 20
/o file2 {implicitly shuts file1}
Shut file1
Open file2 List * = 48
/o * {open the last file that was shut}
Shut file2
Open file1 List * = 20
/o * {open the second file again}
Shut file1
Open file2 List * = 48
Note: The * shortcut refers to the last Qedit file that was shut.
Now, to copy a block of text from file1 to file2, use HH twice (just as you would use CC) to hold the block in file1. Then, open file2, and use AH or BH to paste in the text from the Hold file. To move a block from file1 to file2, use the DD function to delete the block of text from the first file. The deleted block is stored in a temporary Hold file called Hold0 (Hold-zero). Now immediately open file2 and use A0 or B0 to paste in the text from Hold0.
Single line
V |
a single line to be diVided |
G |
a single line to be glued |
GJ |
a single line to be glued with a space inserted |
Block of text
VV |
begin or end of the block to be diVided |
GG |
begin or end of the block to be glued |
To divide a line, use the V (diVide) cut-and-paste function in column 3 or 4, then insert the special field separator ("~") at each division point in the line. The default field separator is tilde ("~" ), but you can override this with Set Vis Field. If no "~" is found in the line, a blank line is added after the line.
What about dividing all the lines in a range? Use VV to mark the start and the end of the line range, then place the field separators in the first line of the range. Every line of the range is divided at the specified field columns. If no "~" is found, a blank line is added after each line.
When marking several division points, insert them into the first line of the block from right to left. As you insert them, they shift the following text to the right one space each. Otherwise, if you insert them from left to right, it is difficult to select the proper division point for subsequent fields.
To Glue the next line to the current line, use a G in column 3 or 4. To Glue two lines with a space inserted at the joint, use GJ in columns 3 and 4.
To glue "pairs" of lines within a block, use GG to mark the start and end of the block.
By default, G and GG append text after the last nonblank character in a line, but it is also possible to glue text to specific columnar fields. You do this by inserting a field separator at the start of each field (mark the first line only). The default field separator is the tilde ("~"), but you may override this with Set Vis Field. If you specify three fields, G glues the next three lines to the first line. GG glues the next three lines to the first line, and then go on to the next group of four lines. If the precise column number where each field starts is important to you, insert the field separators from right to left, since each one that is inserted shifts the column numbers that follow off by one more.
The XX indicators are used to mark lines that you do not
want displayed in full-screen mode. Once marked, the block of text is replaced
with a single line.
---
Excluded Area --- 10/34.5
This line shows the line numbers
which are currently excluded. An excluded area setting is saved in the workfile
so it's preserved across Open/Shut commands. To reset the excluded area and see the original
lines again, type .xx on the
Homeline and press Enter or F7.
The excluded area can also be
defined using Set
Visual XX. The current excluded area is displayed on the Verify Visual
output.
Restrictions
The Excluded Area line must not be
removed, altered or used in any way. This also means that you can not enter any
indicators in the cut-and-paste area. If you wish to paste lines before or
after the excluded area, you should use the appropriate cut-and-paste indicators
on the line that immediate precedes or follows the Excluded Area line.
An excluded area can not be
included in any other block operation such as ZZ, CC, MM or other XX.
If any of these rules are
broken, Qedit displays an appropriate error message.
Justification in text alignment is available in full-screen mode. To justify a block of text, simply mark the first and last lines in the block with the JJ indicator. If Qedit uses any justify default settings, they are defined by the Set Justify command. If there are no default settings, Qedit assumes the text should be justified within the current display width.
The justified lines are written to the Hold0 file. A single J indicator is not valid.
When the insertion point is on the current screen, Qedit renumbers the screen if needed (and if Set Vis Renum is ON).
When entering a lot of new text, it is tiresome to keep pressing Ins Line for each new line. To insert a block of 10 blank lines quickly, press Ins Line to create one blank line, Cursor Left twice, type R9, and press Enter. This reproduces nine copies of the blank line immediately after it (as well as updating the paragraph you just finished typing). Repeat as needed.
Visual has both an implicit and an explicit Hold file.
The Implicit Hold0 File. Any block processed by the CC, MM, JJ, RR, or DD indicators is also written to a disc file called Hold0 (Hold-zero). This allows you to copy the lines back into your workfile using A0 or B0 (add from Hold0, After or Before the line on which you place the indicator).
The Explicit Hold File. The HH indicator writes a block to the Hold file without moving or modifying it. Use H for a single line. To copy the line(s) back into your workfile, use AH or BH. You may need a Hold file when creating a file that you want to compile, or when using the Use command. You must use HH (instead of CC) for copying text from one file to another.
When HH is used to mark the beginning and end of a block, it copies the block of text to the explicit Hold file. With the HH indicator, the current contents of the Hold file are erased and replaced with the marked lines.
If you want to append a block of text to the Hold file, you can use the HJ indicator. HH or HJ can be used to mark the first line. However, HJ must be used to mark the last line. You cannot hold-append a single line of text, which means you can append only two or more lines. With the HJ indicator, the current contents of the Hold file are preserved and the block of text is appended to it.
The ZZ indicators mark a group of lines that you want Qedit to remember. Use Z to mark a single line. Note: "Z" for a single line is valid only in Visual mode; in Line mode, use "ZZ" to mark a single line. See the ZZ command in the "Qedit Commands" chapter for further information. Once marked, the lines are displayed at half-bright intensity and you can refer to them in any home line command by using ZZ where the line numbers are expected. This is especially useful when listing lines to the printer, changing or appending strings, and formatting text:
===> list $lp zz F7
===> change
"bob"Robert" zz F7
===> verify zz F7 {check current ZZ range}
===> zz off F7 {cancel ZZ range}
If you want to copy text into your current workfile from another file that is not a Qedit file, you cannot use the methods described above. You cannot Open the second file if it is not in Qedit format. Instead, use the List command to find the portion of text that you want to add from it (without Shutting the first file). Then, use the Add command to paste in the text.
===>list xxx
===>add * = xxx 10.7/22.9
All Qedit commands are supported in Visual mode. To do a command, such as Listf or ls, press the Home Up key to reach the home line, then type your command after the ===> and press F7 or Enter. To execute a command, such as Change, on a subset of the file, first use the ZZ cut-and-paste indicators to mark the subset and then use ZZ in the command. After most ===> commands, Qedit prompts you for more commands ("Next command [Visual]"). Type in more commands, or return to your Visual screen above, by pressing the Enter or Return key.
Qedit accepts each command, executes it and goes back to the "Next command" prompt. There are a few exceptions to this process. By default, when you enter an Open command, Qedit assumes you want to edit the file immediately and switches into full-screen mode automatically. If you wish to disable this feature, enter Set Visual Editonopen Off.
If the tilde has been removed from the list of string delimiters (see Set Stringdelimiters) and you enter a tilde "~" at the "Next command" prompt, Qedit uses the current line number associated with the tilde, makes it the current line and goes back into Visual immediately.
To search for a string, simply type it in quotes at the ===> line and press F7 or Enter.
===>"string" F7
Qedit will find the next line containing that string, display the page around it, and show the target string in the Status line. To find the next occurrence of the same string, press F4.
To find the previous occurrence of a string, prefix the string with a circumflex.
===>^"string" F7
To find the next previous occurrence, press F3.
You may delimit strings with any of the following characters:
~ |
Tilde |
| |
Vertical line, Up-line |
" |
Quotation mark |
' |
Apostrophe, Single quote |
: |
Colon |
% |
Percent sign |
\ |
Reverse slant, Backslash |
You may use single quotes (') if you do not have Set Decimal On. Note that, with this syntax, Qedit permits a few less characters in Visual mode than it does in Line mode because Visual mode uses these characters for other purposes. For example, the question mark is used to get quick help about Visual mode, instead of as a string delimiter. If you insist on using other delimiters, you should use the Find command on the ===> line.
===>F :string: F7
You can change strings on the screen by entering a Change command on the ===> line.
===>c "niether"neither" */*+19 F7
To get help, press Home Up, type ? and press F7 or Enter.
===>? F7
The ? command gives a one-screen summary of Visual mode. For complete on-line help on Qedit, including Visual, type HELP in the ===> line and press F7 or Enter.
===>help F7
For help on a specific command, type HELP [command name]. See the Help command in the "Qedit Commands" chapter. To get out of help, press F8.
To format a screen paragraph, mark the paragraph with ZZ cut-and-paste indicators, then use a Justify command that includes a ZZ. For example:
===>justify both margin
68 zz F7
If every paragraph ends with a blank line, you can Justify a paragraph by using the relative line number on the screen. Justify will start at that point and continue until it finds a blank line:
===>justify both margin
68 *+2 F7
For more information on Justify, see the Justify command in the "Qedit Commands" chapter.
After you have made some changes to your screen in Visual mode and updated the file by pressing Enter, you may decide you don't want those changes after all. You can use the Undo command to cancel these changes.
All of the changes you make on the screen before pressing Enter, are treated by Qedit as one "undo-able" command, except for cut-and-paste operations. Qedit always executes a cut-and-paste last after updating the file with any other changes, no matter what order the changes were made in. This means that you can choose to undo just the cut-and-paste operation, or undo it and all of the other changes. You can continue undoing your previous changes until the file is back to its original state.
If you make changes to the screen, then decide not to keep them before you press Enter to update your screen, how do you get your original text back? You refresh the screen by typing a * on the home line, then pressing F7, F1 or Enter (or any function key with Set Vis Update On). Use the Undo command if you press Enter and then decide that you don't want to keep your changes.
If you insert so many new lines that you push the column template line right off the bottom of your screen, don't worry -- it's not really gone. Qedit won't update your screen without the template line, however. Press Next Page (Pg Dn) to pull up the next screen of display memory. You have a problem only if you inserted so many lines that you pushed the template line right out of display memory, and even then you can still recover your changes. See the Errors in Visual section of Appendix E, regarding qscreen.
Screen Refresh is particularly useful if you've pressed Clear Display by accident.
===>* F7
When using Set Vis Update On to automatically update the screen, use *> F7 or *< F7 to move ahead or back one page, without updating the current page.
You may enter any Line mode Qedit command in the ===> line, including Opening another file, and calculator commands (=). The ZZ cut-and-paste indicator can be used to mark a group of lines for use in any Qedit Line mode command.
===>list $char zz F7
When editing a file with short records (e.g., Set Lang Text, Set Len 20), the right margin of terminal display memory is set to match the record length. This means that when typing home line commands you wrap the status line at the same width as the records (very inconvenient if the record length is 3 bytes!). You can, however, cursor past the right margin to type a longer command. Therefore, Qedit expands the right margin when you use F7 to execute the home line command, making it possible to execute a long command even when the data length is short. Qedit cannot expand the right margin if you press Enter (and may cut short your command).
If your function keys do not work for some reason, you may not be able to use F8 to exit from Visual. Instead, press Home Up, type / and press Enter. This updates your current screen and returns you to Line mode.
===>/ F7
Qedit's full-screen mode on VT terminals is called Screen mode, which works with most VT terminals (i.e., VT100 and VT220). To use Screen mode, you must have a VT terminal or terminal emulator, and you must have a terminfo entry for your VT terminal in your configuration (use untic vt100 or untic vt220 to check your terminfo entries).
Screen mode differs from Visual mode by not relying on the block-mode feature of HP terminals. It enables you to page forward and backward through your file, as well as to move, copy, mark and delete blocks of text with Screen mode's cut-and-paste functions.
Screen mode is a good introduction to the HP operating system for users who don't work on HP computers all day. Those who may particularly benefit are novice users, or users who run Qedit only to update a report skeleton once a week. Screen mode provides a familiar environment where novices can make changes to the entire screen, just as they do on PC editors. You can even configure some electronic mail packages (e.g., HPDesk, elm) to put your users directly into Screen mode when they edit a message.
On PC's running a terminal emulator, the Home and End keys correspond to the Home and End keys on your keyboard. On VT100 terminals, these keys correspond to keypad-7 for Home and keypad-1 for End because there are no keys labeled Home and End. In addition to the keypad equivalents, VT220 terminals also correspond Home to the Find key and End to the Select key.
After you have invoked Qedit, and used Text or Open to access a file, you can switch from Line mode to Screen mode by typing "vi." If you don't have a file open when you type "vi", Qedit will open an empty scratch file and fill it with a blank line.
In Line mode you must type command and text lines, and press Return after each line. In Screen mode you can edit a full screen of text by moving the cursor around the screen, inserting and deleting lines and characters, and joining and splitting lines. To move through the file, use PF3 and PF4 (or the Prev and Next keys if you have a VT220 or above).
You can perform additional editing functions by using control-key sequences. For example, to mark the first line in a cut-and-paste operation, press ^L. When you are finished editing, use ^E to exit Screen mode.
If your TERM environment variable is set to a VT terminal, Qedit will automatically use Screen mode when you type "vi." If you are running Reflection with HP and VT emulation, and Qedit is still using Visual mode, you should check the following items:
á The RCRTMODEL environment variable is set to 0.
á The TERM variable has been exported. Use export to see a list of your exported variables.
á The value used in your TERM variable is a valid terminfo entry. Type in untic $TERM or untic terminfo value to check this.
You can also manually put Qedit into Screen mode by typing in the following command:
set vis screen on
The screen starts with the Status Line, several Text Lines, and ends with the Message Line.
Qedit Full-screen editing (Reflection in VT220 emulation mode)
The first line shows the current line number and column location of your position in the file, the insert/replace mode, and the name of the file you are editing. For example,
L 11 C 5 I monthly.report
By default, the number of lines on the screen is LINES-2. The default value of LINES is specified in the terminfo entry for your terminal. You can override terminfo's default value by setting the shell environment variable LINES.
The last line on the screen is the message line. When you first enter Screen mode, this line displays a list of commonly used control keys. As you edit a file, Qedit uses this line to display messages about your editing operations. After a message is displayed, it remains on the screen until you move to another screen (e.g., by scrolling or by paging forward or backward). Then the list of commonly used keys will appear in the message line again.
In Screen mode, the keyboard gives you the power to move around the screen, to edit text, and to control the flow of Qedit.
You can move around the screen by using the cursor keys and the numeric keypad.
VT100 keystrokes:
Key |
Action |
Cursor Left |
Move one space to left |
Cursor Right |
Move one space to right |
Cursor Up |
Move one space up |
Cursor Down |
Move one space down |
PF1 |
Display help screen |
PF3 |
Previous page of text |
PF4 |
Next page of text |
Home |
Go to beginning of line |
End |
Go to end of line |
Home Home |
Go to beginning of file |
End End |
Go to end of file |
VT100 keystrokes:
[ 7] Home |
[ 8 ] Cursor Up |
[ 9 ] Previous Page |
[ 4 ] Cursor Left |
[ 5 ] Toggle Wordmove |
[ 6 ] Cursor Right |
[ 1 ] End |
[ 2 ] Cursor Down |
[ 3 ] Next Page |
[ 0 ] Insert |
[ . ] Remove |
VT220 keystrokes:
Key |
Action |
Prev Page |
Previous page of text |
Next Page |
Next page of text |
Find |
Home |
Select |
End |
Insert |
Toggle insert/overwrite mode |
Remove |
Delete current character |
If you are using a modem to access your HP-UX computer, you can try pressing ^O to toggle the fast scroll option. This option, whose default is Off, may speed up single-line scrolling operations. However, the screen update with fast scroll may be visually annoying.
The toggle WordMove feature selects whether the left and right cursor keys will move by characters or by words. This feature is useful if you have a slow connection to your host machine.
Press keypad-5 to move by word. Qedit defines a word as a sequence of alphanumeric characters or a sequence of punctuation characters. For example, the line "if (a==b)" contains 6 words: if, (, a, ==, b, and ). Press keypad-5 again to move by full words. Qedit defines a full word as a sequence of non-blank characters. For example, "if (a==b)" contains these 2 full words: if and (a==b). Press keypad-5 once again to return to move by single character.
You revise the screen image by using these keys:
Key |
Action |
Return |
Insert mode: split line at current position Overwrite mode: move to start to next line |
Backspace |
Delete previous character Insert mode: rest of line shifts left Overwrite mode: rest of line unchanged At start of line, join line to previous line |
Insert |
Toggle insert/overwrite mode |
Remove |
Delete character at current cursor location, rest of line shifts left |
^N |
Insert blank line above current line |
^D |
Delete line at current cursor |
^R |
Search and Replace |
^U |
Undo changes to current line before you move cursor off the line |
In Search and Replace, Qedit asks you three pieces of information: the string to search for, the string to replace with, and the search options. The search options are the same as the ones in the Find String function, which is documented in the following section.
To return from Screen mode to Line mode:
Key |
Action |
^E |
Exit to Line mode |
Key |
Action |
^G |
Go to a particular line |
^F |
Find string |
^A |
Find next |
You can go to a specific line number by pressing ^G. The first line in the file is line 1. You can quickly go to line one by pressing Home twice. Similarly, you can go to the last line by pressing End twice. The Home key equivalent is keypad-7 (or Find on VT220), and the End key equivalent is keypad-1 (or Select on VT220).
You can also go to a line by searching for a string. Press ^F to begin searching. Qedit will ask you for two pieces of information. First, you need to enter the string you want to search for. Second, you need to enter the search options. The search options are as follows:
Option |
Action |
I |
Ignore type case of words Default: case-sensitive |
P |
Specified string is a pattern Default: not to use patterns. |
W |
Search string must be a "word" (surrounded by blanks or punctuation) Default: string can be anywhere in line |
1 |
Start searching from line 1 Default: start from current line |
To search for the next occurrence of a string, press ^A. Once the last string has been found, Qedit will not return to the start of file.
Key |
Action |
^L |
Begin marking a block of text press once to mark by complete lines press again to mark by partial lines press again to cancel marking line |
^C |
Copy marked lines to Hold0 file |
^X |
Cut marked lines to Hold0 file |
^V |
Paste lines from Hold0 file before current line |
Screen mode's model for cut-and-paste is similar to the cut-and-paste of Microsoft Windows. First you mark a block of text. Then you either copy or cut the text to a "clipboard." The copied text remains in the file, but the cut text is deleted. To paste the text, put the contents of the clipboard into the new location.
If you have not marked a block of text when you perform a copy or cut, the current line will be copied or cut.
When you start marking a block, Qedit will highlight lines as you move through the file. The highlighted lines are your marked block. When you press Ctrl-L to begin marking, Qedit highlights the entire line. This means the whole line will be inside the marked block, regardless of the horizontal location of your cursor. If you press Ctrl-L again, Qedit highlights only part of the line, from the position of your cursor when you first pressed Ctr-L to your current cursor position. Press Ctrl-L a third time to cancel your marked block.
You can cancel the current marked block by pressing ^L.
Suppose you want to copy a section of text from one place in your file to another. Here is one way to do it:
1. Use a string search to locate the start of the block. Move the cursor to the first line you want to copy and press ^L. You should see the current line highlighted.
2. Go to the last line you want to mark and press ^C.
3. Go to the screen where you want to insert a copy of the text. Move the cursor to the line after the desired insertion point and Press ^V to add the block.
To split a line, move the cursor to the position where you want the new line to start. Make sure you're in insert mode and then press Return.
To join two lines, move the cursor to the beginning of the second line, and then press Backspace.
You don't have to learn every command in order to use Qedit. With just a few of the basic functions, you can take care of editing job streams, programs, memos, or big text files. First, find out how to run Qedit on your system. Your system manager may have set up an easy way to access Qedit (try typing qedit). Look for a slash prompt (/ on MPE or qux/ on HP-UX), which tells you Qedit is ready to go.
This introduction will make the following activities familiar to you: adding lines to a file, looking at the contents of files, searching files for specific characters, changing one line or many lines, deleting, moving, and copying lines, and saving files. In the examples to follow, watch for comments on the right-hand side, enclosed in curly braces. Whatever you see in { } is an explanation, not part of the command, although Qedit will accept it. Press Return after each command line. When you finish your session, getting back out of Qedit is easy. Type Exit, and press the Return key:
/exit
You add text with the Add command. Qedit numbers each line you add. Pressing Return at any spot in the line moves you to a new line. This means that you can put a blank line into your text if you press Return twice in a row. Qedit continues to add your lines of text until you type // (two slashes) at the beginning of a new line and press Return. Try typing Add right now, and Qedit moves the cursor and prints some identifying information:
/add {remember to press Return}
QEDITSCR {Qedit displays this line}
Temporary File List * = 1 {and this line too}
1 _ {go on, Qedit is waiting for you}
Continue to "add" by typing in this example:
1 MEMO TO: Drama Staff, News Simulation Dept.
2
3 FROM: Marie Reimer, Publicity Dept.
4
5 Please check your in-baskets daily and
6 respond to your fan mail within a week.
7 // {stop adding for now}
/ {Qedit is waiting again}
You can add lines anywhere in the file by typing Add followed by the line number where you want to start your insertion. For example, if you decide to date this memo, type at the slash prompt:
/add 2
2.1 DATE: November 18, 2000
2.2
2.3 //
/
You have added line 2.1 for the date, and line 2.2, which is blank. Line 2.3 is not put into your file, since typing the double slash stopped the adding. Notice that Qedit used line numbers that would fit between line 2 and line 3. Now, if you want to see what the whole thing looks like, type List ALL at the slash prompt.
/list all
1 MEMO TO: Drama Staff, News Simulation Dept.
2
2.1 DATE: November 18, 2000
2.2
3 FROM: Marie Reimer, Publicity Dept.
4
5 Please check your in-baskets daily and
6 respond to your fan mail within a week.
/
The command for looking at the file is List. But you can do much more than List ALL. For example, you can list a file you're not even working on. Our sample memo is a temporary file, in your group, named Qeditscr, but you could look at a file in another group now without harming the memo by typing, for example:
/list /etc/profile
The file /etc/profile may be scrolling by on your screen, but don't panic. If you change your mind about looking at it, you can stop the listing by holding down the Control key and pressing "Y".
You may choose to look at just a small part of the file. To prove that the memo, although temporarily gone from your screen, is not lost forever, look at two lines of it:
/list 3/4
3 FROM: Marie Reimer, Publicity Dept.
4
Instead of listing all, you limited the range of lines to be listed. A range of lines, called a rangelist, can have specific line numbers (such as 3 in the above example), words like "first" and "last", relative line numbers such as -3 (means the third line back) or +10 (tenth line ahead), or a combination.
/list first/2,+1,last-2
1 MEMO TO: Drama Staff, News Simulation Dept.
2
2.2
4
The slash / separating the numbers (or words) symbolizes the word "to". Rangelists can also contain strings. See the section on strings (called Searching the File), or the "Glossary" for definitions of rangelist and string.
If you want to browse through the file, the command you need is LJ. LJ stands for List-Jump. Qedit shows you a screen of text, prints
More?[yes]
at the bottom of the screen, and waits for you. If you press Return, Qedit displays the next screen. You can stop browsing by pressing Control-Y, typing NO or just N, or by typing //. Also, you can type any command, and Qedit stops browsing to execute it. To request a List-Jump:
/lj 6 {begin browsing at line 6}
/lj /etc/profile {browse configuration file}
So far, you typed line numbers to specify which lines you wanted to see. There is another way to list lines, and that is to specify an identifying string. Put anything in quotes and it's a string. Qedit lists all the lines that contain that exact same "anything".
/list "your"
5 Please check your in-baskets daily and
6 respond to your fan mail within a week.
2
lines found
There are two occurrences of "your" in the file, one on line 5 and one on line 6.
Strings can help you find a particular place in the file quickly.
With the commands Find and Findup, you can go to the next consecutive location of a string. Find searches the file from your current location to the end. Findup searches backwards from where you are to the beginning. So in order to search a file for a date scattered throughout it, type:
/find "January 18" {search forward from current line}
Or, search back through the file with
/findup "January 18"
Qedit displays the next line containing "January 18". To search again for the same string, just type Find (or Findup). You can abbreviate "Find" to "F" and "Findup" to "^".
/f
To search for a different string, just type F "new string".
Suppose you want to change the date of your memo. You could do it the slow way, first deleting the line, then adding a replacement line with the new date. But instead of all that retyping, try the Modify command. Modify has a lot of power. Here's how to use it:
1. Type M and the line number.
2. Qedit displays the line, and you move along on the line below it by pressing the space bar.
3. Stop at the point where you want to make your correction.
4. Type in the change to be inserted and press Return.
5. Qedit displays the entire corrected line for your approval. Make another correction if you want, and when satisfied, press Return again to accept the corrected line and get back to the slash prompt.
An example:
/m2.1
2.1 DATE: November 18, 2000
9 {move with the space bar}
{press Return}
2.1 DATE: November 19, 2000 {press Return again}
Here is a partial list of special things you can do with Modify:
^B |
insert text Before this column |
^D |
DELETE text from this column onward |
^L |
add text after the LAST column in the line |
^O |
OVERWRITE (or replace) columns |
^T |
TRAVEL over the line without changing it |
^G |
GOOFED. Put the line back the way it was, please |
Note: The little symbol ^ is a shorthand way of saying that you hold down the Control key (on some keyboards abbreviated Ctrl) while at the same time pressing the letter. For example, ^B (or Control-B): keep the Control key down with one finger while with another, type a B. These symbols won't show up on your screen.
HP-UX reacts to certain control
characters which might conflict with the Qzmodify codes. For example, control-D
sends an end-of-file signal to HP-UX but is also the delete character in
Qzmodify. You should use the HP-UX stty program to change the default end-of-file signal. Please see
the section "Control
Characters and stty" on page 53 for more details.
This command is easy to use but awkward to describe; you'll understand how to use it much faster if you give it a try. Let's take a typical example, and modify line 5 of our memo. Begin by typing "m5" and, of course, pressing Return. Then, to replace "daily" with "every day", our first step is to delete the word. Use the space bar to move to the column under the "d" in "daily". Press ^D (you won't see anything, remember), then space across all the columns you want to delete. Don't press Return yet.
The second step is to insert the two new words. Press ^B and type "every day". Now press Return to see the line with the revisions.
Qedit lets you see your revisions and continue modifying with as many different changes as you can fit into one pass, before you press Return. In order to make changes at different locations in a line, press ^T to space over the intervening characters without disturbing them. If you goofed, press ^G instead: you'll get your original line back.
The final step is to accept the revisions by pressing Return one last time.
If your fingers are so trained to MPE's style of Modify (e.g., D for delete) that you cannot remember to use the Control key, do not despair. As with most things in Qedit, there is a configuration option to solve this problem. The command Set Mod HP instructs Qedit to accept HP-style modifies (i.e., MPE modifies such as D and I), instead of Qedit-style. See the Modify section of the Set command.
There is another way to modify lines in your workfile. The Change command allows you to make changes throughout the entire file, without the bother of working on each line one by one. For example, with one Change command to your memo, you can replace all the colons with dashes.
/change ":"-" all
1 MEMO TO- Drama Staff, News Simulation Dept.
2.1 DATE- November 19, 2000
3 FROM- Marie Reimer, Publicity Dept.
3 lines changed
Using the Change All command is a one-way street. If we now decide we don't like the dashes and want to get the colons back, observe what happens to Line 5.
/change"-":" all
1 MEMO TO: Drama Staff, News Simulation Dept.
2.1 DATE: November 19, 2000
3 FROM: Marie Reimer, Publicity Dept.
5 Please check your in:baskets daily and
4
lines changed
This second Change command has gotten us into hot water. Luckily, Qedit has an Undo command that takes your file step-by-step backwards to put it back to the way it was. See the Undo command in the "Qedit Commands" chapter.
CJ Command
If you're not sure what the consequences of a global change will be, use the CJ command. CJ stands for Change-Jump. Qedit shows you each line it means to change, and waits for you to approve, to change your mind, or to modify that line. Then Qedit jumps to the next occurrence of your string, and repeats its question until you have dealt with all occurrences of the string in the file. To accept the default answer of NO (i.e., don't replace the string), shown in square brackets, just press Return.
/cj":"-" all
1 MEMO TO: Drama Staff, News Simulation Dept.
Change okay (Y,N or Modify) [No]: {press Return}
2.1 DATE: November 19, 2000
Change okay (Y,N or Modify) [No]: {press Return}
3 FROM: Marie Reimer, Publicity Dept.
Change okay (Y,N or Modify) [No]: {press Return}
5 Please check your in:baskets daily and
Change okay (Y,N or Modify) [No]:Yes
1
line changed
You can use the handy ^Y to stop in the midst of change-jumping just as you used it to stop listing.
Rangelist
You can also specify individual lines or a rangelist to Change. For example,
/change "Dept."Department" 1/3
1 MEMO TO: Drama Staff, News Simulation Department
3 FROM: Marie Reimer, Publicity Department
2
lines changed
/change "Drama Staff, "" 1 {changes string to nothing}
{i.e., deletes it}
1 MEMO TO: News Simulation Department
1
line changed
Copying lines is a variation of the Add command. One reason we might want to copy lines is to make a general-purpose form out of our memo. We can keep a sample memo form at the beginning of the file, then copy it to the end of the file and fill it in whenever we need to communicate. This is how to do it:
/add last = first/4
7 MEMO TO: News Simulation Department
8
9 DATE: November 18, 2000
10
11 FROM: Marie Reimer, Publicity Department
12
6
lines COPIED
Qedit copies the rangelist (first/4 = first line to line 4) after the indicated line (here, last line in file). To accomplish our goal of placing the sample memo template at the beginning of the file, we'll have to move the first six lines so they follow our new sample. Before we try moving lines, a last tip on copying: you can copy lines from an external file by including the file name in the command, placed after the equals sign and right before the rangelist.
Moving is very similar to copying; it's another form of the Add command. But, instead of using the equals sign, use the less-than sign. You can specify:
/add 12 < 1/6
13 MEMO TO: News Simulation Department
14
15 DATE: November 18, 2000
16
17 FROM: Marie Reimer, Publicity Department
18
19 Please check your in-baskets daily and
20 respond to your fan mail within a week.
8
lines MOVED
Qedit moves the rangelist (in this case, lines 1 to 6) after the indicated line (in this case, 12). In case you were wondering, we could have used "last" instead of the number "12". You can add, move, or copy lines to any spot. In fact, we could have copied the first six lines to the beginning of the file in the first place, but then we wouldn't have had this fascinating "move" example. The result of this particular move is
/list all
7 MEMO TO: News Simulation Department
8
9 DATE: November 18, 2000
10
11 FROM: Marie Reimer, Publicity Department
12
13 MEMO TO: News Simulation Department
14
15 DATE: November 18, 2000
16
17 FROM: Marie Reimer, Publicity Department
18
19 Please check your in-baskets daily and
20 respond to your fan mail within a week.
To demonstrate the Delete command, we'll get rid of our memo template. On some systems, Qedit asks for confirmation before deleting a large number of lines. If so, you can cancel the deletion just by pressing Return; to confirm the deletion, type "yes" and press Return. The abbreviation for Delete is simply D :
/d first/12
7 _MEMO TO: News Simulation Department
8 _
9 _DATE: November 18, 2000
10 _
11 _FROM: Marie Reimer, Publicity Department
12 _
DELETE 6 lines [no]? yes
If you typed "yes" without due consideration, you now have a chance to take it back. Press Control-Y, and Qedit saves your bacon with the message "Undeleted!" But you must press Control-Y immediately: if you do anything else between the deletion and the rescue, Qedit will commit to the deletion. However, in this situation the Undo command can bring your lines back, even if you have made more changes. You must undo each change to the file in reverse order. See the "Qedit Commands" chapter of the manual for details.
On-line help is available on every topic in Qedit. After you've become an expert with the commands introduced here, you can use Help to teach yourself all sorts of amazing new commands. To get Help, type a question mark or the word HELP.
/help
or
/?
Qedit responds with a list of its commands, and at the bottom of the screen, a list of keywords. Type the keyword of the topic in which you're interested. For example, one of the keywords is "Full-Screen". Get an introduction to full-screen mode by typing:
>full-screen
Did you notice that the Help prompt is different from Qedit's regular prompt?
When you asked for Help, Qedit filled your screen with lists. To learn about some of the commands in the list, (e.g., the Add command), type the keyword:
>commands
and Qedit gives you some general information on the topic of commands. At the bottom of the screen is a list of keywords. Type the one in which you're interested:
>add
Qedit responds with further information. You can backtrack your route and look at all the other possibilities too. Pressing Return takes you back one step at a time.
To exit from Help, press the Return key until you see the regular Qedit slash prompt again.
There are two commands that preserve your work: Keep and Shut. First, invent a name for your file. Naturally, two files cannot have the same name. The name must be a valid HP-UX file name. We've been working on a temporary file. To save it, name it:
/keep myfile1
When you want to work on Myfile1 again, type:
/text myfile1
and Qedit will copy Myfile1 for you to use. If you make changes to the file, remember to Keep it again before you leave Qedit to make the changes a permanent part of the file.
Only Qedit files can be opened and shut. It is much faster to use the Open command than it is to use the Text command, because you make changes directly to the Open file. With a Text file, you must wait for Qedit to make a copy to which you make your changes.
Using the Shut command saves the current scratchfile as a permanent Qedit workfile. In the case of a scratchfile, the name of the new workfile must not exist. You can Shut a new file, or a file that you made a copy of (with the Text command). Name the file as described above.
If you are working on a Qedit workfile, Qedit renames it before closing.
qux/t myfile1
'Language' is now DATA {copy of myfile1 in scratchfile}
20 lines in file
qux/sh myfile1
Retained existing file for you. {myfile1 already exists. No change.}
qux/sh myfile1.work {renamed to myfile1.work}
qux/open *
Open /home/user1/myfile1.work Current = 1 Margins = 1/80
qux/sh myfile1.newwork
File renamed.
A workfile looks like any other file from the outside. For example,
ll myfile1*
-rw-rw-rw- 1 francois users 533 Aug 17 18:33 myfile1
-rw-rw-rw- 1 francois users 16384 Dec 8 07:15 myfile1.work
However, you can use the HP-UX file command to determine the file type. In order for file to recognize Qedit files, you need to edit /etc/magic.
login
as root
$ cd /etc
$ qedit
qux/Text magic
qux/Add last
0\tstring\tQEDIT\tQedit {\t indicates tab characters}
//
qux/Set Decimal On
qux/Change "\t" '9 * {change \t to actual tab characters}
qux/Keep
You can now use the file command on these files.
$ file myfile1*
myfile1: ascii text
myfile1.work: Qedit
To run Qedit for HP-UX, type this command:
/opt/robelle/bin/qedit
Qedit. Copyright Robelle Solutions Technology Inc. 1977-2001.
(Version 5.7) Type ? for help.
qux/
Qedit prints its version number and prompts with "qux/". You type commands, ending each with Return. For example, to edit a file enter a Text command:
qux/text filename
To save your edits, use the Keep command.
When you start Qedit, you are initially in Line mode (you type command and text lines, ending each with the Return key). Qedit has two full-screen modes: Visual mode for HP terminals and Screen mode for VT terminals.
Full-screen editing as implemented on HP3000 computers only works on HP-UX versions earlier than 11.0. On HP-UX 11.0 or later, full-screen editing is available in Screen mode (Set Visual Screen On) on VT-type terminals or in Visual Blockemulation emulation (Set Visual Blockemulation On) on HP-type terminals.
As its name implies, Blockemulation emulates block-mode operations by reading each line one by one instead of reading the whole screen in a single operation. Depending on the type of connection, this process might take a few seconds as the cursor moves down the screen.
On HP terminals, Qedit's full-screen mode is called Visual mode. The function keys give you eight quick functions: F1 = Visual, F2 = Roll up, F3 = Findup, F4 = Find, F5 = Browse backward one page, F6 = Browse forward, F7 = Listredo, and F8 = Exit.
Press the F1 key or use the Visual command to switch to full-screen mode, where you can edit a full screen of text with the terminal keys. The Enter key passes the revised screen back to Qedit, and the F7 key executes any Line command that you type on the home line. If you have an HP terminal or emulator, you will want to export RCRTMODEL so that you can use advanced screen features. See "Variables that Drive Qedit."
To return from Visual mode to Line mode, press the F8 key. To save your changes to the Text file, use the Keep command. To get out of Qedit, type Exit or press F8 again.
qux/keep
qux/exit
If you forget to Keep your changes, Qedit asks if you want to "Discard your changes?" or stay in Qedit to save them.
Screen mode differs from Visual mode by doing edits to a line right away, instead of waiting for a screenful of changes. Use PF1 for Help, PF3/PF4 to browse back and forth in the file. You can enter new text right away (there is no concept of command mode vs insert mode like there is in vi). Perform edit operations with control-key sequences. To exit Screen mode, press ^E.
Qedit's primary scratch file is called "Qeditscr." By default, this file is created in /var/tmp (/usr/tmp is the default on older versions of HP-UX) or the path name specified in the TMPDIR environment variable. The scratchfile name is qscr.xxxxxxxxx where "xxxxxxxxx" is a random string generated by the HP-UX tempnam routine.
If you want to move scratch files to a different directory, you can set the TMPDIR environment variable.
TMPDIR=/home/user1/tmp
export TMPDIR
Keep in mind that Qedit works
with absolute filenames and these names can not have more than 240 characters.
Whenever you use the default options for Opening or Texting a file, your work
will be in the Qeditscr scratch file.
What if you want to edit two or more files and copy lines between them? You could Text the first file, Hold the selected lines, Keep your changes, then Text the second file and insert the lines. However, if you are doing numerous edits, the constant Text and Keep operations are inconvenient.
It is faster to Text each file into an extra scratch file of its own. Then use the "Open ?" or the "Open *-n" command to switch quickly between them. By default, Text always copies the file into the Qeditscr scratch file. However, Qedit can supply up to eight extra scratch files. To Text a file called abcd into an extra scratch file, type:
qux/text abcd,new
When you Exit, Qedit checks whether you have any unsaved edits in any of your scratch files. If there are some unsaved edits, Qedit prompts you to "Discard?" them or to stay in Qedit to save them with the Keep command.
Sometimes you start editing a new document and have nothing to Text to create the extra scratch file. In this case, use the New command without parameters.
/new
Qedit creates a new extra scratch file and assigns it a sequential number (1,2,3...). If you use an Open ? command, you would see "Extra Scratch file #2" in the list of files. If you do a Keep or Set Keep Name command, you would see the Keep file as the Text name in Open ?.
When you log on to HP-UX, a program is run called the shell. The shell program interprets commands, executes them, and controls command execution. Making configuration changes requires that you know which shell you are using and what files are automatically executed.
The Bourne and Korn shells execute the file /etc/profile when you log on to HP-UX. They then look for a file in your home directory called .profile. If it exists, it is executed. If you use SAM to add new users, the file /etc/d.profile is automatically copied to the home group of the new user. If you want to make global changes to the commands executed at login time, you should change two files:
/etc/profile {always executed at login}
/etc/d.profile {default .profile for new users}
The C shell executes the file /etc/csh.login when you log on to HP-UX. It then looks for the file .login in your home directory. If it exists, it is executed. Next, the C shell executes the file .cshrc in your home directory (also executed any time you invoke a new copy of /bin/csh). If you use SAM to add new users, the files /etc/d.login and /etc/d.cshrc are automatically copied to the home group of the new user. If you want to make global changes to the commands executed at login time, you should change these files:
/etc/csh.login {always executed at login}
/etc/d.login {default .login for new users}
/etc/d.cshrc {default .cshrc for new users}
You can invoke Qedit with the command:
/opt/robelle/bin/qedit
If you want to be able to just type
qedit
to invoke Qedit/UX, you must either add /opt/robelle/bin to your PATH or copy /opt/robelle/bin/qedit to a directory that is currently on your PATH. Similarly, the man pages for Qedit are found in /opt/robelle/man/man1/qedit.1. To make the man pages available to everyone, you can either add /opt/robelle/man to your MANPATH or you can copy the man pages to a directory that is currently on your MANPATH.
See the discussion above about the files automatically executed by the Bourne and Korn shells. The easiest way to change the two PATHs for all users on your HP-UX machine is to log on as root and add these two lines to the file /etc/profile after any existing PATH or MANPATH statements:
PATH=$PATH:/opt/robelle/bin
MANPATH=$MANPATH:/opt/robelle/man
Remember to delete any PATH or MANPATH settings in /etc/d.profile, so that new users do not override your changes. You also have to warn existing Bourne and Korn shell users to change the .profile file in their home directories.
See the discussion above about the files automatically executed by the C shell. The easiest way to change the two PATHs for all users on your HP-UX machine is to log on as root and add these two lines to the file /etc/csh.login after any existing path or MANPATH statements:
set path=($path /opt/robelle/bin)
setenv MANPATH "$MANPATH":/opt/robelle/man
Remember to delete any path or MANPATH settings in both /etc/d.login and /etc/d.cshrc, so that new users do not override your changes. You also have to warn existing C shell users to change their .login and .cshrc files in their home directories.
Most HP-UX users have Control-D configured as the end-of-file character and Control-C as the interrupt character. If you use Robelle-style modify, you must reassign Control-D to a different control character. If you are a former MPE user, you may wish to assign Control-Y as your interrupt character. A standard shell configuration file (.profile for Bourne and Korn shells and .login for the C shell) usually contains a line like:
stty erase "^H" kill "^U" intr "^C" eof "^D" swtch "^Z"
To change both the end-of-file and interrupt character, you should change the "intr" and "eof" control keys as follows:
stty erase "^H" kill "^U" intr "^Y" eof "^E" swtch "^Z"
Note that the end-of-file signal is required by many programs. Many introductory books on UNIX assume that Control-D generates an end-of-file. You have to remember to now use Control-E (at least Control-E is easy to remember since end-of-file starts with the letter "E").
When you run Qedit, it automatically "uses" two configuration files if they exist: /opt/robelle/qeditmgr and .qeditmgr in your home directory. The system manager usually creates /opt/robelle/qeditmgr and puts Qedit commands in it to set Qedit options. To check the options for your site, List this file.
If you want a personal Qeditmgr file, create the file .qeditmgr in your home directory. This file is in addition to the global Qeditmgr file which is always executed first.
Qedit treats the Qeditmgr file exactly like a usefile, so Qeditmgr can include any Qedit commands. The Set commands let you configure Qedit so it has the ideal defaults for your shop (e.g., Set Lang Cobol ...). Here is a typical Qeditmgr file:
{These are default qedit values for all users:}
set lang cobolx all on
set x date list off {mark changed lines with date}
set check on {verify delete/format of >5 lines}
set list page on {lp listings interpret $page}
z=list */last {define z command}
For details on Set commands, refer to the "Qedit Commands" chapter.
If one set of defaults is not appropriate for everyone on your system, it is possible to set up personal Qeditmgr files in each user's home directory. See the chapter "Running Qedit on HP-UX" for details.
You normally run Qedit as an on-line session. You type Qedit commands on your terminal and Qedit prints responses on your terminal. If you redirect stdin or stdlist, Qedit assumes that it is in batch.
Qedit in batch is almost identical to Qedit on-line, except for answering questions. When Qedit asks a question in batch, no one is there to answer it. Therefore, Qedit does not expect an answer from stdin. Qedit assumes that you want your batch task to complete, so it always selects the option that will complete the command successfully. This is normally a "YES" answer, as in "yes, clear the file" or "yes, upshift the line". Qedit prints the question on stdlist, as well as the answer that it has selected for you.
When Qedit encounters an error in batch, no one is there to correct it. Therefore, Qedit normally aborts. However, you can use Set Autocont On to override this abort, instructing Qedit to keep processing after errors in batch.
You can invoke Qedit/UX with options, or an initial file name to edit, or both (or neither). The syntax for invoking Qedit/UX is:
qedit [-csv] [filename]
See below for suggestions on setting the EDITOR environment variable so that Qedit is automatically invoked as your editor from other tools like elm.
You can specify commands to be executed using the -c option before the file name. The -c is followed by commands to be executed. There must be no space between the -c and the command list.
If those commands contain a space, they must be enclosed in single or double quotes; otherwise, the quotes are optional. When both -c and a file name occur, the Ðc commands are executed after the file is accessed for editing. Here are some examples:
qedit -cvisual myfile
qedit -c"visual" myfile
qedit -c'set vis ab 3 bel 12;visual' myfile
qedit -c"text abc;use fixit;k,y;e"
Sometimes you want to invoke Qedit for a specific purpose, such as writing a message in elm. You are using Qedit as a dedicated tool for a specific purpose. In these cases, specify -s and a file name. You can only edit that file and it will be saved on exit. You will not be allowed to edit any other files.
qedit -cvisual -s myfile
/exit
Save your changes (yes/no)?
Some users find that they Exit from Qedit inadvertently by pressing F8 too many times. To require user approval on Exit, use the -v option.
qedit -v
/e
Okay to exit [no]:
/
Qedit needs to purge your random-named scratch files when it terminates. But you may not have saved your editing work yet. In that case, Qedit asks you "Discard changes?" and will not Exit/Purge unless you answer Yes:
qedit myfile
/visual
/exit
Discard your changes [no]:
/
This section describes features of Qedit/UX that interact with the HP-UX environment.
HP-UX utilities that invoke an external editor use the variable EDITOR to determine which editor and run-time options are invoked. The electronic mail tool elm is an example of a utility that uses an external editor to write all messages.
If you want to use Qedit as your standard editor, you need to set the EDITOR variable. We recommend using the -s option for application use. If you wish to immediately go into Visual mode, you should specify -cvisual as part of the variable string. The following example sets the EDITOR variable to invoke Qedit and put you into Visual mode:
Bourne and Korn shells:
$EDITOR="qedit -s -cvisual";export EDITOR
C Shell:
%setenv EDITOR "qedit -s -cvisual"
When Qedit needs a disposable scratch file (e.g., for Text
or Add), it creates a Qedit format file in /var/tmp by default (/usr/tmp is the default on older versions of
HP-UX) or the path name specified in the TMPDIR environment variable. The scratchfile name is qscr.xxxxxxxxx where "xxxxxxxxx" is a random string generated
by the HP-UX tempnam
routine.
Keep in mind that Qedit works
with absolute filenames and these names can not have more than 240 characters.
Because all HP-UX files are permanent, Qedit must purge this scratch file when you exit Qedit. If you have made any changes, Qedit asks whether you want to discard the changes that you have made.
Qedit has two Hold files: Hold and Hold0. The first one is created using the Hold command or with HH/HJ in Visual mode.
Lines are written to the Hold0 file every time you move or copy with the Add command (MM, CC, and DD in Visual mode) or justify (JJ) or replicate (RR) lines in full-screen mode.
By default, these Hold files are
created in /var/tmp
(/usr/tmp is the default on older versions of HP-UX) or the path name specified
in the TMPDIR environment variable. The
Hold files are called qholdxxxxxxxxx (explicit Hold) and qholdxxxxxxxxx.0 (implicit hold file)
where "xxxxxxxxx" is a random string generated by the HP-UX tempnam routine.
If you want to have these files
in a different location, you can set the TMPDIR environment variable to the new path name.
TMPDIR=/home/user1/tmp
export TMPDIR
Keep in mind that Qedit works
with absolute filenames and these names can not have more than 240 characters.
So that you don't have to remember these names, you can refer to these files as
Hold or Hold0 in Qedit commands. For example,
/hold 50/60 {save lines in the Hold file}
/open report.cob {switch files}
/aq last=hold {lines copied from the Hold file}
The value of TMPDIR can be a
relative or absolute path. Internally, Qedit always uses the absolute path. It
converts the relative path if needed.
You cannot use Qedit to look at files in your current directory called hold or hold0, unless you qualify them with the directory or a relative path name, as in ./hold.
The Hold files are removed when
you exit Qedit.
You can execute shell commands by typing them at anywhere you can type a Qedit command. If Qedit determines that it is not one of its own commands, it assumes it's a shell command and tries to execute it as such. If the shell command matches an existing Qedit command, you must precede it by a colon (:) or an exclamation mark (!). Shell commands are executed by your default shell (the one configured in /etc/passwd for your user name).
If you want to enforce the use of the colon or exclamation mark prefix, you can enter Set Limits Colonreq ON.
Shell commands are executed by a child copy of your shell. Child shells cannot change environment variables in the parent's environment. To change the value of an environment variable, you must first exit Qedit.
If you use the POSIX or Korn shell, you have access to a shell command history function. By default, the shell saves the last 128 commands you have entered. The default name is .sh_history and is located in your home directory. If you want to use a different file name, change the HISTFILE environment variable. If you want to change the number of commands saved, change the value of the HISTSIZE variable.
Normally, you recall commands from the history stack by using the fc command. This command calls up the default shell editor that works like the vi editor. You can instruct the shell to use Qedit/UX as your command line editor instead.
The first step, which is probably the most important one, is setting the FCEDIT variable. This variable specifies which editor you want to use to modify the commands. The default editor is /bin/ed. To change the editor, use
FCEDIT='qedit "-c m ;k,yes;e"'
export FCEDIT
The export command is not mandatory, but it is good practice to include this command in case you start up another shell process. Also note that the quotes are very important. You begin with single quotes and enclose the Qedit/UX commands in double quotes.
In the next step, you can use the fc command to recall commands. It has a fairly simple set of arguments. You can also create your own set of commands using aliases.
A typical set of commands would include:
alias listredo="fc -l"
alias redo=fc
alias xeq="fc -e -"
NOTE: You cannot use "do" because it is a shell-reserved keyword. The xeq command is used instead.
The listredo command simply lists the most recent commands in the history stack. Its default (no argument) setting lists the last 16 commands.
When you use one line number as the argument, listredo lists all the commands from the specified line on. When you enter a few characters as the argument, the list starts with the last command that has these characters.
listredo 100 {list all commands starting with number 100}
listredo c@ {list all commands starting with a "c"}
With two line numbers, listredo lists all commands between these two lines.
listredo 100 105 &