Qedit 6.1 for HP-UX

User Manual

Doc-To-Help Standard Manual

by Robelle Solutions Technology Inc.

qed-ybo


 

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 January 5, 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

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.1......................................................................................... 5

Highlights In Version 6.0......................................................................................... 5

Highlights In Version 5.9......................................................................................... 5

Highlights In Version 5.8......................................................................................... 5

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

Introduction

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 ===>
/LISTREDO

F8 Exit

 

Documentation

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/.

User Manual

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.

Printed Documentation

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.

Additional Software

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

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

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

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.

Notation

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.


Highlights

 Highlights In Version 6.1

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.

Highlights In Version 6.0

        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.

 

 

Highlights In Version 5.9

        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.

 

 

Highlights In Version 5.8

           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.

 

Highlights In Version 5.7

 

      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.


Installing Qedit/UX

General Installation Notes

Here we describe how to install and configure Qedit. The following are general notes about installing Qedit.

Who Should Use These Instructions?

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.

Summary of Installation Steps

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)

Step 1: Log On as Root

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.

Step 2: Create Robelle Directory

Qedit/UX is installed in /opt/robelle. Before restoring the Qedit/UX files you must first create the /robelle directory.

mkdir /opt/robelle

Step 3: Restore Files

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

Step 4: Set Up PATH (Optional)

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."

Step 5: Start the Qedit for Windows Server (optional)

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.


Getting a Quick Start with HP Full-Screen Editing

Introduction

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, Qedits 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.

Starting Visual Mode

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.

reflection-visual-screen-shot

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.

Screen Layout

===>

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.

Home Line

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.

Status 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.

Text Lines

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.

Template 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.

Special Indicator Columns

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.

Using Your Keyboard

In Visual mode, the keyboard gives you the power to move around the screen, edit text, and control the flow of Qedit.

Moving the Cursor

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

 

Editing the Text Lines

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

 

Control Functions

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!

 

Reflection for DOS Keyboards

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

 

Other PC Keyboards

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.

Function Keys

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

 

F1: Update and Go to Next Page

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.

F2: Roll Up Screen

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.

F3: Findup - Previous String

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.

F4: Find - Next String

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.

F5: Backward One Page

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.

F6: Forward One Page

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.

F7: Execute a Command

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.

F8: Exit from Visual

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.

Browsing Through Your File

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.

Cut-and-Paste

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.

Cutting Operations

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

 

Pasting Operations

 

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.

Resetting Cut-and-Paste

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

Copying a Block of Text

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.

Cut-and-Paste Between Files

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.

Dividing and Gluing Operations

 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

 

Dividing Lines in Visual Mode

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.

Gluing Lines in Visual Mode

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.

Excluding Lines From Visual Mode Display

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.

Justifying Lines in Visual Mode

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.

Renumbering Lines

When the insertion point is on the current screen, Qedit renumbers the screen if needed (and if Set Vis Renum is ON).

Inserting Blank Lines

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.

Hold Files

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.

Marking Changes Without Using Line Numbers

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}

 

Paste from a Non-Qedit File

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

Home Line Commands

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.

Finding Strings

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

Changing Strings

You can change strings on the screen by entering a Change command on the ===> line.

===>c "niether"neither" */*+19  F7

Help on Visual Mode

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.

Formatting Paragraphs

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.

Undoing Changes in Visual Mode

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.

Refreshing the Screen

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.

Other Line Mode Commands

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

Truncated Home Line

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).

Exit from Visual

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


Getting a Quick Start with VT Full-Screen Editing

Introduction

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.

Home and End keys

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.

Starting Screen Mode

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.

Troubleshooting

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

Screen Layout

The screen starts with the Status Line, several Text Lines, and ends with the Message Line.

reflection-vt220-screen-shot

Qedit Full-screen editing (Reflection in VT220 emulation mode)

Status Line

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

Text Lines

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.

Message Line

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.

Using Your Keyboard

In Screen mode, the keyboard gives you the power to move around the screen, to edit text, and to control the flow of Qedit.

Moving the Cursor

You can move around the screen by using the cursor keys and the numeric keypad.

VT100 and up

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

Keypad Layout

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 and Up

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.

Editing the Text Lines

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.

Control Functions

To return from Screen mode to Line mode:

Key

Action

^E

Exit to Line mode

Browsing Through Your File

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.

Cut-and-Paste

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.

Resetting Cut-and-Paste

You can cancel the current marked block by pressing ^L.

Copying a Block of Text

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.

Splitting and Joining Lines

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.


Getting a Quick Start with Line Mode Editing

Introduction

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

Adding Lines to a File

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.

/

Looking at the File

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.

Browsing the File

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}

Searching the 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".

Editing Lines

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.

Global Changes

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

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 Lines

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.

Deleting Lines

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.

Help Command

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.

Saving the File

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.

Open and Shut for Instant Access

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


Running Qedit under HP-UX

Running 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.

Visual Mode for HP 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 for VT Terminals

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.

Edit Several Files at Once

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.

How to Edit Several Files?

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.

Starting a New Scratch File

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 ?.

Configuring Different Shells

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.

Bourne and Korn Shells

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}

C Shell

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}

Setting Up a PATH for Qedit

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.

Bourne and Korn Shells

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.

C Shell

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.

Control Characters and stty

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").

Qeditmgr Configuration Files

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.

Default Set Commands

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.

On-Line vs. Batch Access

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.

Command Line Options

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.

Initial Command Line:  -ccmdstring

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"

Editing a Single File:  -s

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)?

Exit with Verify:  -v

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]:

/

"Discard Changes?" on Exit

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]:

/

HP-UX Notes

This section describes features of Qedit/UX that interact with the HP-UX environment.

EDITOR Variable

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"

Scratch File

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.

Hold Files

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.

Shell Commands

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.

Shell Command History

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                       {list commands 100 to 105}

The redo command recalls one or more commands and allows you to modify them before executing them. It uses similar syntax to listredo. If you do not specify an argument, redo recalls the last command you have entered. If you specify a command number, it recalls that particular entry. If you enter a string, it recalls the most recent command starting with that string. If you enter 2 numbers, it recalls all the commands between these 2 numbers and allows you to modify them, one by one.

The xeq command recalls one or more commands and executes them immediately. It works the same as the redo command. The only difference is that you are not able to modify the commands.

Tab Stops

The default Qedit/UX tab stops are every 8 characters. You can override this using Set Tabs Stop n (every 2 to 15 characters). If you Exit from Qedit with the tabs set to anything other than Set Tabs Stop 8, Qedit resets your terminal to the default tab stops.

When you Text or List a file with tab characters in it, Qedit/UX does not expand them to spaces. If you want to edit lines containing explicit tab characters, see Set Vis Tab. If you want to expand tabs into spaces when Texting a file, use the Expandtabs option:

/text abcwork,expandtabs

Hardcoded File Names

Some file names are hardcoded into Qedit. This section describes these file names for Qedit/UX.

/opt/robelle/qeditmgr

This is an optional file that is designed to contain configuration commands. You cannot change this file name. Even if you move Qedit/UX to a different directory, Qedit/UX still looks for /opt/robelle/qeditmgr as the default configuration file.

$HOME/.qeditmgr

In addition to the system wide /opt/robelle/qeditmgr, each user can have a personal (optional) configuration file. When you invoke Qedit/UX, it reads commands from the file .qeditmgr in your home directory.

/opt/robelle/help/qedit

This is the name of the Qedit/UX help file. You can override this name, using Set Filename Help:

/set filename help /usr/local/help/qedit

Visual Mode

Qedit has a Line mode and two full-screen modes: Visual mode and Screen mode. Visual mode is designed for HP terminals such as the 700/92, PCs running an emulator such as Reflection, or "hpterm" running on a UNIX workstation or X-terminal. If you are using another brand of CRT or a generic terminal emulator (ANSI, VT100), Visual mode will not work. Screen mode is designed for VT terminals, such as VT100 and VT220. Other terminal types may also work with Screen mode.

By default, Qedit assumes that you have an HP-compatible terminal. However, you can direct Qedit to identify your HP terminal by exporting the variable RCRTMODEL with value 2. Or you can export three variables that define the version of your terminal (see Variables that Drive Qedit).

Variables that Drive Qedit

Qedit has a number of environment variables that allow you to configure and direct the execution of Qedit. These variables identify the type of HP terminal you have, the default function keys, the default settings for the terminal G and H straps, and other options.

When you run Qedit, it must identify the type of terminal that you are using and determine what function-key labels to display. Qedit does status requests to detect the model number and the current width of display memory. This information is used to enhance the functioning of Qzmodify, Visual, Help and List. Qedit locks the keyboard during terminal identification and discards any user input that manages to get through. However, if you have Reflection typeahead enabled, Qedit cannot lock the keyboard; be careful not to type during terminal identification in this case.

Qedit sets three variables to remember your terminal state: RCRTMODEL, RPCVERSION and RCRTWIDTH. If you run Qedit and these variables are already set, Qedit does not need to do the status requests of your terminal. To reset these variables and force Qedit to re-identify the terminal, use the Set Visual Stop command. You can set a fourth variable, RCRTSTRAPSGH, to request nondefault handshaking in Line mode. The fifth variable, RLABELDEFAULT, is described under "Function Key Label

Setting Variables in Your Shell

You must set and export environment variables before you invoke Qedit. The syntax for setting environment variables depends on which shell you are using.

Bourne (sh) and Korn (ksh) shells:

$export RCRTMODEL=2

In some versions of the POSIX shell, you might have to split the previous command in two:

$RCRTMODEL=2

$export RCRTMODEL

C shell (csh):

%setenv RCRTMODEL 2

Remember to always type the variable name in uppercase letters. The Bourne and Korn shells do not allow spaces before the "=". To check your environment variables use:

Bourne (sh) and Korn (ksh) Shells:

$env

C Shell (csh):

%printenv

RCRTMODEL Variable

If you use either an HP terminal (e.g., 239x and 700/9x series) or a terminal emulator such as Reflection, you can get Qedit to identify the terminal type automatically by setting an environment variable. If you use a VT terminal, you should either not set the variable at all or set it to zero.

If you set the environment variable RCRTMODEL to 2 and export it before running Qedit, Qedit can identify your terminal, Reflection emulator or Qcterm emulator automatically. This includes the terminal ID number such as 70092 or 2392 and the Reflection or Qcterm version number such as 430. For Reflection, Qcterm and 700/9x terminals, Qedit also determines how many columns of display memory you have set originally. On a PC with Reflection, Qedit detects whether your combination of VGA adaptor and Reflection version is likely to switch into 132-column mode whenever more than 80 columns of display memory are requested.

Qcterm version 2.0 or higher is required to use Qedit's Blockemulation mode.

Qcterm emulates a 700/92 terminal but can display 200 columns as well as 80 or 132 columns normally available on a 700/92 terminal.

export RCRTMODEL=2                     {sh/ksh}

/opt/robelle/bin/qedit

Qedit/UX. Copyright Robelle Solutions Technology Inc. 1977-2000.

qux/verify visual                      {e.g., Crt=7009,Col=132}

Qedit takes advantage of any features that it finds, such as widening display memory, enabling wordwrap if you have done Set Vis Wordwrap On, enabling Limited-Immediates in block-mode, resetting display memory to the width it had at startup, etc.

Instead of setting RCRTMODEL to 2, you can set it to the actual terminal ID number, such as 2392. RCRTMODEL can have any of these values:

 

Value

Terminal

0

Assume that you are using a 2392-style HP terminal

1

Not using an HP terminal, don't check it

2

Interrogate the terminal to identify it

1234

This terminal or emulator is not fully-compatible with an HP terminal

2392,etc.

This is a newer HP terminal with labels

2393/2397

This terminal can have up to 160 columns of display

7009

A 700/9x terminal with 132-column ability

You would also set the RPCVERSION and RCRTWIDTH variables to describe the rest of your terminal's attribute. When you use rcrtmodel=2, you don't set RPCVERSION or RCRTWIDTH. Qedit does not update your environment variables with the identity that it finds since a child process cannot change the parent's environment on HP-UX.

Type 1234 Terminal or Emulator

Set the RCRTMODEL to 1234 if the terminal or emulator you are using does not support all the standard HP terminal features. For example, you should use this setting with hpterm. hpterm is a UNIX terminal emulator running under the X window system. It's a basic 2392 emulator. hpterm will not identify itself to Qedit, nor let Qedit change the display width by Escape sequence (although you can configure the display width manually).

You need an X-windows server. A Unix/Linux workstation usually have this, or you can download and install one of the existing X-window systems available for Microsoft Windows such as X-win32 from Starnet Communications (www.starnet.com) or Winaxe from LabF.com.

If you are not already familiar with hpterm, you should be able to start hpterm with:

/usr/bin/X11/hpterm -display 192.168.0.1:0.0 -ls

where 192.168.0.1 is your PC's IP address. The "-ls" argument requests that /etc/profile and .profile be executed so your environment is set as if you used login.

When RCRTMODEL is set to 1234 before you run Qedit, Qedit functions in the following way:

1.     It accepts hpterm as an hp terminal that is capable of more than 80 columns of display memory and of doing full-screen mode. At the moment, hpterm cannot support the line-mode Visual strategy for HP-UX  11 (Blockemulation). Qedit actually accepts any hp terminal emulator  without question, so this option may be useful with other emulators.

2.     If you set RCRTWIDTH to some value between 81 and 256, Qedit accepts it as the manually set display width.

3.     If you do not set RCRTWIDTH, Qedit attempts to sense the current display width of hpterm and sets the jcw itself. The maximum width is 256 columns.  Qedit can support up to 999 columns but, in these instances, the width has to be entered using the RCRTWIDTH variable or the Set Term Columns command.

4.     Qedit sets the option that eliminates changes to display width: Set MarginFixed On.

This option also ensures that the right margin is always set at the right edge of the display width. Normally the right margin is set at the last valid column of the file, which might be less than the display width. You can use this option with other emulators if you wish to stop Qedit from changing the display width.

Please read the section on Set Visual Marginfixed to learn about its advantages and disadvantages.

5.     The only way to change the display width with hpterm is manually.  If you use the Set Term Columns command to specify a new width, Qedit prints the following message and waits for you to change the width manually:

Please change display width and press Enter:

Qedit does not verify that you have done this correctly, so if you make a mistake, do another Set Term Columns command to fix the width.

6.     Set Visual Stop normally resets all the jcws to their default state, forcing Qedit to re-identify the terminal. However, for hpterm, the RCRTMODEL and RCRTWIDTH jcws are not reset, since the terminal cannot  be identified automatically. If you wish to stop using 1234 mode, you must reset RCRTMODEL to 0 manually.

7.     Set Visual Widen should normally be set to 76 or 80 (default) with hpterm. Otherwise you will not be able to use the extra columns beyond 80.

RPCVERSION Variable

RPCVERSION contains information about the terminal emulator e.g. Reflection or Qcterm. If you are not using a terminal emulator, you can set RPCVERSION to 1. If you omit it or set it to 0, but you do set RCRTMODEL to 2, Qedit attempts to identify which (if any) version of the emulator you are using.

If you are using Reflection, the version number has a direct impact on Qedit's behavior in full-screen mode. Qcterm's version currently does not have any impact. If you always use the same version and emulator, set RPCVERSION to the value determined by this chart:

wXyyy, where

       w=0   for display width can be expanded

         1   for display width cannot be expanded

         2   for 132-column VGA in DOS Reflection

       X=0   for DOS Reflection

         1   for Macintosh Reflection

         2   for Windows Reflection

         5   for Qcterm

     yyy=version number (420 = 4.20)

For example, R1 for DOS version 4.30 with a 132-column VGA adaptor would be 20430.

You cannot do the :Reflect command if Xyyy equals 150 or 200. This same value is shown in Verify Visual as {Reflect=420}; if it says "Col=80 max", this PC emulator was unable to make display memory wider.

RCRTWIDTH Variable

Most HP terminals have 80 columns of display memory. However, 700/9x terminals can switch into 132-column mode and Reflection emulators can have as many columns of scrollable display memory as you wish. If you do not set RCRTWIDTH, Qcterm emulates a 700/92 terminal but can display 200 columns as well as 80 or 132 columns normally available on a 700/92 terminal.

Qedit will query the terminal to see how wide display memory is at startup. Qedit must determine the width of display memory in order to properly fold listings of lines that will overflow that width, and to reset the width after it has been changed.

To change the Line mode display width while within Qedit, do Set Term Columns.

Function Key Labels

You can set the RLABELDEFAULT variable to specify what function key labels appear upon entry into Qedit.

Value

labels

0

don't care

1

terminal lacks labels

2

show user keys

3

show modes keys

4

no keys -- blank

5

F1 to F8 labels

6

Qedit's labels

If you wish to use Qedit's function keys in Line mode, set the RLABELDEFAULT variable to 6 before running Qedit. You must have the G and H straps set to "yes" for the function keys to work.

RCRTSTRAPSGH for Handshaking

The G and H straps of the HP terminal control datacomm handshaking. If you pull up your Terminal Config screen, it should look something like this:

InhHndShk(G) YES      Inh DC2(H) YES

Since these are "inhibit" straps, YES actually means "no, don't do the handshake."  G and H control whether the terminal waits for a DC1 and/or DC2 prompt character from the computer before sending input (such as on terminal status requests, or upon pressing Enter in block-mode). If the straps are configured incorrectly, the symptom is a hung terminal (i.e., the terminal is waiting for a prompt that is never going to come, or the terminal sent the data before the computer was ready because it didn't wait for the prompt).

To override the G and H strap settings of your CRT, use the RCRTSTRAPSGH variable. The default value for Qedit/UX is 3, which means no handshake (G=YES, H=YES, inhibit both). A value of 0 means use handshaking and may be necessary if you "shl" to an MPE system and use terminal-based typeahead. Unfortunately, a 0 value makes function keys lock up in Line mode Qedit/UX.

The valid values for the RTSTRAPSGH variable are as follows:

Value

G

H

comment

0

no

no

(handshaking active)

1

no

yes

 

2

yes

no

 

3

yes

yes

(default for HP-UX)

QEDITMGRTRACE Variable

If the QEDITMGRTRACE variable is set to a nonzero value, Qedit prints tracing messages for the Qeditmgr configuration files. The trace includes the name of each Qeditmgr file that Qedit attempted to open, each command executed from the file, and command line arguments used to invoke Qedit.

QEDCURWFILE Variable

Qedit updates a variable, QEDCURWFILE, with the name of your current or last workfile. This gives you the ability to reference the current workfile easily from within a shell script without having to pass it in as a parameter.

QEDSTOREDPWD and QEDPROMPTEDPWD Variables

When the Qedit for Windows client establishes a new connection, it transmits information about the passwords included in the request. Qedit updates two variables with the information: QEDSTOREDPWD and QEDPROMPTEDPWD. The first variable indicates which passwords are stored with the connection. The second variable indicates which passwords are prompted for.

Values for these variables only have one character: the letter U representing the user password. Since there is only one password, the letter can only appear in one. The other variable in this case is not created at all. For example, if the password is stored with the connection, QEDSTOREPWD will have a value of U and QEDPROMPTEDPWD will not exist at all.

This gives you the ability to reference these variables from within a shell script.

ROBELLE Environment Variable

Qedit looks for the files it needs in the /robelle directory. Normally, Qedit is installed in /opt/robelle. For example, the Qedit server expects to find its log files in a subdirectory called log/qedit. It would expect to find the error log file in

/opt/robelle/log/qedit/error.log

which is the default full path name of the error log. If you install Qedit in a directory other than /opt/robelle, Qedit should be able to determine the new location and adjust the path for its support files (e.g., online help for host-based Qedit, log files for the server).

If Qedit is unable to correctly determine its current location, it is going to revert back to /opt/robelle.

If you wish to use a specific path explicitly, you need to set the ROBELLE environment variable to the new directory. For example,

ROBELLE=/usr/apps/robelle

export ROBELLE

There are two limitations to the path name: the full path name of the file must be no more than 240 characters, and the path name to the /robelle directory must be no more than 219 characters. A slash mark (/) is optional at the end of your ROBELLE environment variable. To set up the log files in the new directory, you have to manually create the "log" or "help" subdirectory in the alternate search path.

So, in order to determine the location of support files, Qedit goes through the following:

      Uses the ROBELLE variable, if it exists.

      If the ROBELLE variable does not exist, Qedit tries to identify the location it is running from and, if successful, determines the location based on that information.

If the information from the previous steps is not available, Qedit assumes the files are in the /opt/robelle directory.

Converting Qedit Files with qcat

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

Differences Between MPE and HP-UX

We have tried to make the MPE and HP-UX versions of Qedit as compatible as possible. This section describes how Qedit/UX is different from Qedit/MPE.

Open/Shut

Qedit/UX uses three forms of workfiles: original, Jumbo, and Wide-Jumbo. The Wide-Jumbo format is new and is used for most files on which you use the Text command. On HP-UX, the original format is unable to save some information about your file (due to technical differences in how the Qedit workfiles are stored on MPE versus HP-UX). Once you shut an original file, the following is lost:

      The name of the file from which you texted.

      The current line number.

      The ability to immediately reopen the file and "Undo" changes.

      The settings for Set Left and Set Right.

For these reasons, Wide-Jumbo workfiles will be the standard in Qedit/UX.

Current "*" File Name

Qedit/UX does not allow substitution of the current file name into shell scripts and commands, because the asterisk (*) is an important substitution character in HP-UX. For example,

/cc *

cannot compile your current file. Instead, it compiles all files in your current directory.

Missing Features

The following features do not work in Qedit/UX:

      Beginfile/Endfile commands.

      Hints are not available.

      Verify to a line printer.

      Any MPE-style command such as :Pause, :Run, etc.

      Proc command, except for Up and Down.

      I/O redirection of Qedit commands.

      Spell and Words commands.

      Out= option of the Listredo command.

      User Defined Commands and command files.

      The QEDITCOUNT variable


Qedit for Microsoft Windows

Introduction

Here we describe Qedit for Windows. Qedit for Windows client lets you edit local MPE/iX and HP-UX files from a single MS Windows program. It consists of a Windows editing client and an MPE/iX or HP-UX editing server that work together to edit your host files for you. To take advantage of Qedit for Windows, you need both the Qedit client and the Qedit server.

Qedit for Windows uses the popular TCP/IP protocol for communicating between the client and the server (this is the same protocol that you use to access the Web). Configuring the Qedit server software requires creating the correct TCP/IP environment for Qedit for Windows.

Server Process

Qedit clients can connect to Qedit/UX only if the Qedit/UX daemon process is running (the Qedit/UX daemon process cannot be started from inetd). This process listens for connections on a registered port number (described below). 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/UX daemon process should always be running, so it is a good idea to automatically start the daemon as part of the system startup process. On HP-UX 9.0, this is done by adding the following command to the file /etc/rc:

/usr/robelle/bin/qedit -d

HP-UX 10.0

On HP-UX 10.0, you do not modify the startup shell script. Instead, you need to create a number of files. HP-UX 10.0 documentation states that the following characters cannot be used as part of the file names: [.,~#]. Otherwise, you can choose any name for these files, as long as the names are consistent throughout the process. In our example, we use qedit_server.

You first need to create a control file in /etc/rc.config.d. This file sets a control variable that will be checked by the startup script. If the control variable is set to 1, the server will start; if it is not equal to 1, the server will not start. We will use QEDIT_SERVER as our variable name. The /etc/rc.config.d/qedit_server control file will now contain the following:

# ****** File:  /etc/rc.config.d/qedit_server ******

# Qedit for Windows server configuration.

#

# QEDIT_SERVER:    Set to 1 to start

#                  Qedit for Windows server

 

QEDIT_SERVER=1

Next, you need a shell script that will actually start the server. You should make a copy of a file called /sbin/init.d/template.

cd /sbin/init.d

cp template qedit_server

Modify the file so that it contains the necessary commands to start the server. You have to change all occurrences of CONTROL_VARIABLE to the variable name you used in the control file (i.e., QEDIT_SERVER).

You also need the execute command for the server program. Insert this command in the section after the 'start') string. The section looks like this:

'start')

 

      # source the system configuration variables

      if [ -f /etc/rc.config ] ; then

              . /etc/rc.config

      else

         echo "ERROR: /etc/rc.config defaults file MISSING"

      fi

 

      # Check to see if this script is allowed to run...

      if [ "$QEDIT_SERVER" != 1 ]; then

         rval=2

      else

 

      # Execute the commands to start your subsystem

         /opt/robelle/bin/qedit -d

      fi

      ;;

Finally, you need a symbolic link to specify when the script in /sbin/init.d will be executed at boot time. Typically, you would start the server as the last step at run level 3. Get a list of all the startup files in /sbin/rc3.d with

ls /sbin/rc3.d/S*

Link names in this directory follow a set of conventions. The names start with the letter S or K. S links are startup scripts; K links are shutdown or "kill" scripts. The next three characters in the name represent an execution sequence number. This number must be 3 digits, and its value should be a number greater than the highest value on the ls listing. For example, if the last link is called S100nfs.server, you could use S111qedit_server. Create the symbolic link with

ln -s /sbin/init.d/qedit_server /sbin/rc3.d/S111qedit_server

For the time being, you do not need a "kill" link.

Port Number

By default, Qedit/UX listens on port number 7395. This port number has been registered with the Internet Naming Authority, so you should not have any conflicts with other HP-UX tools for the same port number. If there is a conflict, you can start the Qedit server process with a different port number. For example,

qedit -d5678

tells Qedit to listen to port number 5678 instead of the default number (7395). If you change the port number on the Qedit/UX server, you must also change the port number on every Qedit client to the same value (5678 in this example). Client port numbers can be changed in the Server dialog box of the Option menu.

If you want listings from netstat and other networking tools to identify the port number as "qwin" instead of just "7395", you have to change the /etc/services file so that it includes the Qedit port number.

qwin    7395/tcp     #Robelle Qedit for Windows

Log Files

The Qedit server can only communicate with Qedit clients. To help system managers see what is happening with the Qedit process, Qedit for Windows writes to three log files: the access log, the error log, and the trace log.

Console Messages

.inx .inx If Qedit cannot access any of its log files, it writes the log message to the system console. You can also enable console logging with the Debug command in the Option menu of the Qedit client. If someone is having trouble establishing a Qedit for Windows connection and the Qedit log files on the host do not include a message for this connection, check the system console. If Qedit was unable to open the log files, it probably reported the message on the system console.

Access Log

Every time a Qedit client makes a connection to the server process, an entry is written to the access log file in which the IP address of the client is logged. Qedit attempts to find the symbolic name of the client IP address by reverse name DNS lookup. If this lookup is not enabled, Qedit writes the numeric form of the IP address to the log file.

Error Log

Any error conditions encountered by the Qedit server process are written to the error log file. If you suspect a problem between the client and the server, start your diagnosis by looking at the end of this log file.

Trace Log

By default, Qedit does not log messages to the trace log file.  However, you can enable trace file logging by using the Debug command in the Option menu of the Qedit client. The trace log file can grow to become very large because Qedit messages are constantly being added to it. These messages assist in understanding the communication between the Qedit server process and the Qedit client. In many cases, their detailed information is the only way to diagnose a problem.

Log File Names

By default, the Qedit server assumes that the log files are located in this directory:

/opt/robelle/log/qedit/

If you have installed Qedit in a different directory, Qedit should be able to detect its new location automatically and adjust the log files location accordingly. If you prefer, you can explicitly change the default directory of the log files by using the ROBELLE environment variable. The three log files are called:

access.log

error.log

trace.log

Like most UNIX log files, these files will continue to grow until you run out of disc space. We recommend archiving the log files in a separate directory and saving them each week. After archiving, you can remove everything from the log files with these commands:

cp /dev/null  access.log

cp /dev/null  error.log

cp /dev/null  trace.log

 


Qedit Issues and Solutions

Running Qedit with Reflection

Walker Richer & Quinn produces Reflection, the well-known terminal emulator for IBM PCs, which can be combined with Qedit in a number of useful ways. See also the section Variables that Drive Qedit in the "Running Qedit under HP-UX" chapter.

Alt-Y vs. :Reflect

Q: Why do some Reflection command files work fine when I execute them from the Alt-Y command line, but go screwy when I execute them using Qedit's :Reflect command?

A: Qedit's :Reflect command sends an escape code to Reflection to invoke the command, then Qedit waits for Reflection to send back a status code to indicate when the command is finished. While Qedit is waiting for the result code from Reflection, it isn't capable of executing other Qedit commands - it's already executing a Qedit command! The only thing that Qedit is capable of doing while it's waiting is to execute any shell commands that Reflection might send to the HP 9000. The reason why shell commands must be accepted is that Reflection sends a command to execute unxlink2 whenever a file transfer is requested.

As long as the command or command file doesn't attempt to transmit any data to the HP 9000, :Reflect will probably work the same way as Alt-Y.

For example, here is a Reflection command file that works from Alt-Y, but not from :Reflect.

; EXIT.RCL

; This command file gets me out of Qedit, logs me off

; the HP 9000 and exits from Reflection.

;

transmit "exit^M"

wait 0:01:00 for "[no]:"

transmit "yes^M"

wait 0:01:00 for "$"

transmit "exit^M"

wait 0:01:00 for "terminated>"

wait 0:00:05

hardexit

Form Feed Causing Return/Line Feed

In Modify, the Lengthen control code (Control-L) means edit the end of the current line. However, in recent versions of Reflection, ^L is executed by the PC as you type it and causes a Return/line feed. If this is happening to you, you can change the default in Reflection. Press Alt-Y for the Reflection command line, type Set Do-Form-Feeds No, press Return, then type Save and press Return again to save the new default to your current configuration file.

Completion Codes

If you are using version 2.00 or later, Qedit automatically enables completion codes on Reflection commands. If these have been disabled with Set Disable-Comp-Codes YES, you will find that your terminal hangs when Qedit attempts to execute a Reflection command; just press Return to get out of this situation. To avoid this situation, you press Alt-Y, type Set Disable-Comp-Codes NO, press Return, then type Save and press Return again to save the new default to your configuration file.

Controlling the PC

The Reflect command allows you to execute any Reflection PC command from within a Qedit usefile or shell script. This allows you to do things like automatically download and upload files and run programs.

For more details, see the :Reflect command.

Accidental Exit from Reflection

If you use Reflection for DOS, and you press Alt-X while in Visual mode, some versions of Reflection allow you to recover.

Get back into Reflection. Your usual method is okay, unless you use a command file that performs other deeds, such as logging you on. A command file would send the logon commands to a puzzled Qedit session, so use "r1" at the DOS prompt instead. Back in Reflection again, press Alt-M for the Modes function keys. Ensure that none of the labels on the display show an asterisk (i.e., are activated) except for the Remote Mode key.

Press Return or Enter -- Qedit accepts either one. If you're back in your Visual mode session, Qedit prints the status line with an error. It might be No // at the end, so no UPDATE (see qscreen) or maybe Read error on CRT. Try again or reduce speed. Type an asterisk after the home line arrow (===>), and press F7. If the function keys are properly defined for Qedit, your file appears. Any changes you made to the screen between your last update and the time you pressed Alt-X are lost. The qscreen file is of no use in this case. Sometimes Qedit is slow to display the status line and error message. If you see some flashing on the screen that hints at activity, be patient. But if nothing happens when you press F7, or if random characters appear right after the asterisk, it probably means that F7 is not defined properly. But we can fix that.

Display the menu to define the function keys by pressing Ctrl-F9. To set these back to the default values, press F3. The labels become F1, F2, F3... Press F9 to activate the changes and go back to your regular screen. Pressing F7 should now work; then press Return. Qedit may display an error message, such as "UNKNOWN COMMAND NAME", but you will still get your file back. Again, changes to the screen after the last update will have vanished.

In the worst case, you will not be able to recover. Log on from scratch. When you open your file, Qedit will display the message: Warning: Recovery. Your file will be current up to your last update.

Changing the Exit Keystroke

The Alt-X keystroke for exiting from Reflection back to DOS is too close to the Alt-D (delete line) and Ctrl-X ("re-think") keys. Accidentally pressing Alt-X and shutting down Reflection in the middle of a Visual screen is pretty disastrous. WRQ has added a "remappable keyboard" in Reflection that allows the user to specify which keys perform what functions. The exit-to-dos function can be activated by a different, harder-to-type key sequence.

To remap your keyboard in Reflection for DOS, first create a DOS file called REMAP.KBM with the following lines:

KEYBOARD-ID = ENHANCED

TERM = HP

alt x       = null

alt ctrl x  = exit-to-dos

Then activate the changes by typing C:> KEYMAP REMAP.KBM R1.CFG at the DOS prompt. See your Reflection user manual for full details. Reflection for Windows also has a remappable keyboard, but uses a different method of configuring it. See your Reflection for Windows on-line help or user manual for details.

Files without NewLine Characters

On UNIX, files can contain NewLine (nl) characters at the end of each line. However, the NewLine characters are optional. Some files have them. Others don't.

Qedit/UX requires that lines be separated by a NewLine (NL) character. If that's not the case, Qedit/UX assumes the file does not contain anything. Thus, the Text command might display:

/Text longfile

'Language' is now DATA

0 lines in file

If you run into this problem, you have to find a way to insert these NewLine characters in appropriate places and break the file into manageable pieces.

Starting with version 5.3.13 of Qedit/UX, you can use the Length option of the Text command. This option allows you to specify the maximum size in bytes of each line. The file will be split in a number of same-size lines except the last one if the total size of the file is not evenly divisable by the specified length.

If the file contains Newline characters, these characters are processed as data. You should be very careful when editing such files. If you inadvertently remove one or more of these characters, other programs might have problems using the file again. Since Newline characters causes terminals to move to the next line, we recommend that you use the $Char or the $Hex option on List commands.

For example, to break a file into 80-byte lines, you shou