|
PDF Available |
Abstract
This document is a brief introduction to the ISPF editor. It describes how to invoke the editor, how to enter data, and how to use basic editor commands to locate, change, move, copy, and delete text.
<editor@cns.ufl.edu>This document is a brief introduction on using the editor in ISPF. The ISPF editor is very versatile, and this document describes only basic editing capabilities. For detailed descriptions of the commands discussed here or for more information about using the ISPF editor, see the IBM manual ISPF/PDF Edit and Edit Macros.
In order to use the ISPF editor, you need to be familiar with TSO. You should know how to sign on and know CNS's data set naming conventions. See CNS document D0037, TSO Introduction, for a basic overview of this information. To edit new data sets in TSO, you should also know how to allocate a data set, or see the section titled "Creating a New Sequential Data Set", in this document.
Sign on to TSO
Enter the ISPF command at the READY prompt:
ISPF
You will see the ISPF Primary Option Menu. Edit is option 2, so type a 2 on the ISPF command line (Option ===>) and press <Enter>.
Alternatively, you can bypass the ISPF Primary Option Menu by invoking ISPF as follows:
ISPF 2
Selecting option 2 takes you to the ISPF Edit Entry Panel.
The data set must already exist. To edit a new (non-existing) data set, see the section titled "Creating a New Sequential Data Set".
You can edit either a sequential data set or sequential member of a partitioned data set (PDS). You can also create and edit a new member of an existing PDS.
Invoke ISPF and select option 2 on the ISPF Primary Option Menu. The first thing you see is the Edit Entry Panel (figure 2, above), where you enter the name of the data set you want to edit. This panel has many fields. Until you become more familiar with editing in ISPF, you can ignore most of the fields on this screen. Some (such as Data Set Password) are not supported at CNS.
Tab your cursor to the line that says Data Set Name (about half-way down the screen) and enter the complete name of the data set you want to edit, in single quotes.
Other Partitioned or Sequential Data Set: DATA SET NAME ===> 'data.set.name.here'
If the data set is a sequential data set, ISPF will open it for you to edit.
If the data set is a Partitioned Data Set (PDS), ISPF will display a list of members. To select a particular member to edit, move your cursor down the list (or use <F8> to page forward for other members) and type an S
in the margin to the left of the member name. Press <Enter>. ISPF will open this member for you to edit. The following example selects a member named CMEMBER.
COMMAND ===>
AMEMBER
BMEMBER
s CMEMBER
DMEMBERIf you want to edit a specific member and you know its name, you can bypass the member list by including the member name on the Edit Entry Panel as follows:
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===> 'data.set.name(member)'There are several ways you can use ISPF to create a new member in an existing PDS. In addition to the procedures described below, you may wish to refer to the section titled Allocating (Creating) a New Data Set in CNS document D0040, ISPF at CNS, for some other methods. Being familiar with all the various methods available will enable you to choose the easiest/most appropriate method for each specific occasion.
To create a new member in an existing PDS, enter the name of the data set on the Edit Entry Panel as described above (don't press <Enter> yet). Then type an S on the command line, a <space>,
and a new member name.
COMMAND ===> S newmemb
Then press <Enter>.
Alternatively, you can specify a new member name on the Edit Entry Panel, as follows, and bypass the member list:
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===> 'data.set.name(newmemb)'When you open an empty data set, the screen looks a little different than when you edit an existing data set. See the section titled "Editing an Empty Data Set or PDS Member."
TSO requires that space for a data set exist before you can edit it. TSO does not let the editor allocate a data set for you "on the fly." Therefore, before you can edit a new sequential data set, you must first allocate it. The procedure for doing this is covered in detail in CNS document D0040, ISPF at CNS, in the section titled Allocating (Creating) a New Data Set.
When you specify an empty sequential data set or new PDS member, your first edit session will display a screen that contains blank lines between special fields called the Top of Data and Bottom of
Data message labels. There will be 'quote marks' ('''''') on the left of the screen, which will be replaced by line numbers after you type information on the lines. The
'quote marks' are in the line command fields; these fields are where you will type commands which apply to a specific line. The top line on your screen shows the name of the data set you are editing. The next line is the command line (Command
===>), where you enter some types of edit commands.
Before you begin entering data, you may want to check your caps mode. In
some situations, the editor will translate what you type to all capital/upper-case letters when you press <Enter>. To ensure that you get mixed (upper/lower) case, enter CAPS OFF on the command line. See the section
titled "Edit Profiles" for more information about caps mode and saving caps settings between sessions.
To begin entering data, <Tab> your cursor down to the first blank line after the TOP OF DATA message field. Enter your text or data. When you come to the end of the line, use your <Tab>
key to move to the next blank line. As you continue typing lines, eventually you will fill up the screen. See the section "Inserting Lines and Entering Data" for information on how to input data.
When you press <Enter>, the 'quote marks' in the line command fields will be changed to line numbers. From here, see the section on "Using the Editor."
If you see ISPF messages (denoted by the word ==MSG> in the line command fields) below the main Command ===> line, enter the command RESET on the Command
===> line to get rid of them. RESET also gets rid of the 'quote marks' in the line command fields, and the unused blank lines .
The top line on your screen shows the name of the data set you are editing. The next line is the Command ===> line, where you enter some types of edit commands. At the top-right corner, the editor shows you the columns it is
displaying (usually columns 1 to 72, depending on the width of your screen). Below it is the Scroll field that lets you specify how you want the screen to be scrolled. The next line is a message field that indicates the top of your data
set (Top of Data). (Similarly, after the last line of your data set, which may not be visible on your screen, is a message line for the Bottom of Data.)
Next, the editor displays the first several lines of the data set (a screen's worth). Each line has a line number on the left of the screen. These are for entering line edit commands (commands which apply to a specific line) and are not part of your data.
Occasionally, the editor displays messages for you. These appear immediately after the command line and are denoted by ==MSG> in the line command field. If you see messages, you can get rid of them by entering
the command RESET on the Command ===> line at the top of the screen.
All references to keys are to the IBM 3270 function that a key performs. Refer to your own keyboard mapping chart to determine which key you actually need to press to get the desired function.
The arrow keys move your cursor up, down, left, or right.
The <Home> key moves the cursor quickly up to the Command ===> line.
The <Insert> key lets you enter data within a line. (See the discussion of NULLS in "Edit Profiles.")
The <Delete> key deletes characters on a line.
At the bottom of the screen, the editor displays the default function key settings (<Fn>). Particularly useful ones include:
<F1>=Helpinvoke the ISPF help utility
<F3>=Exitexit the editor
<F7>=Upmove toward the beginning of the data set
<F8>=Downmove toward the end of the data set
Other function keys perform more complex tasks, which are not discussed here. Refer to the documentation provided by IBM for detailed information on all the F-key functions.
As you edit your data set, periodically move your cursor to the Command ===> line (using the arrow keys or your <Home> key) and enter the SAVE command to save your work. This saves the
information in the data set and leaves you in the editor to continue working.
When you are through, move your cursor to the Command ===> line and enter the SAVE command to save your work. Then exit the editor either by entering the END command on the command line or
by pressing <F3>. This returns you to the Edit Entry Panel. Press <F3> again to return to the ISPF Primary Option Menu. To exit ISPF, choose option X (enter
X on the command line) or press <F3>.
ISPF lets you specify an automatic save option in the editor, called AUTOSAVE. If this option is turned ON, then ISPF will automatically save your data set or file when you type END or press
<F3> in the editor. For more information, see the section titled "Edit Profiles."
Sometimes, you realize that you have made changes to a data set that you do not want to keep. You can cancel an edit session by moving your cursor to the command line and entering CANCEL. This returns you to the
Edit Entry Panel.
The CANCEL command cancels all changes since the beginning of the edit session or the last SAVE command, whichever is most recent.
Commands may be entered in either uppercase or lowercase. Two basic types of commands perform ISPF editing operations.
These affect only a single line or block of lines. You enter line commands by typing them in the line command field and then pressing the <Enter> key. The line command field is the column of line numbers (or quote marks for new data sets) on the left of your screen.
Line commands let you easily move, copy, delete, and insert lines, among other functions.
These affect the entire data set. You enter these commands on the command line (COMMAND
===>), located near the top of your screen. Some primary commands (e.g, FIND and CHANGE) begin with the current line, which is usually the line immediately below the command line.
Primary commands let you search for and alter strings, modify your profile settings, and customize your editing environment, among other functions.
All commands require that you press the <Enter> key after typing the command to send the command to the computer.
Anywhere in the line command field, enter Ito add n n number of lines. This inserts n blank lines after the line on which you entered the I
command (ex: i3).
000001 This is a line of text.
000002 This is another.
i30003 This inserts 3 blank lines here.
000004To enter many lines, simply enter an I with no number after it to go into "insert" mode. Each time you press the <Enter> key after typing on a blank line, you will get a new blank line. To get out of insert
mode, press your <Enter> key twice (enter a null line).
The text entry (TE) command allows you to perform power typing. This is useful when you have many lines to enter. To begin power typing, enter TE in the line number field of the line where you want to insert
text. The line command field on the left of the screen goes away, so that you can type your information as if it were one long line.
When you press the <Enter >key, the text is flowed into a paragraph.
Before you enter power typing mode, consider the following:
If you are entering text, such as for a memo or letter, make sure caps mode is set to OFF so that your text will not be translated to uppercase. (Enter CAPS OFF on the command line.)
Make sure sequence numbering is off so that sequence numbers will not be written over any of your text. (Enter NUMBER OFF on the command line.)
If you have set bounds, make sure the setting is where you want so that the lines will flow correctly when you finish power typing.
See "Edit Profiles" for more information about caps mode, bounds, and numbering.
Enter Dto delete n number of lines. This deletes n n lines including the one on which you entered the D command (ex: d4).
To delete only one line, you can enter just D (with no number).
Enter Rto replicate a line n n number of times (ex: r6). The new replicas are created immediately following the line being replicated. Existing lines (if
any) beneath the line being replicated are automatically moved down to make room for the new replica lines.
The copy (C) and move (nM) commands require a second command to tell the editor where a line should be copied or moved to. After typing the copy or move
command, move the cursor to the line you want the text to be inserted Before (B) or After (A). Typen B to have the text entered before the line your cursor is on, or A to put the text after the line your cursor is on.
Then press <Enter>.
You can enter a move or copy command and press the <Enter> key or the <F7> and <F8> keys before typing a before or after command. ISPF will display the message MOVE/COPY IS PENDING.
It's reminding you to complete the move or copy operation. Simply move your cursor to the appropriate place and type an A or B, then press <Enter> to complete the operation.
If you start a move or copy command and then change your mind, press <Enter> to get the PENDING message. Then enter RESET on the command line to clear the command.
Block editing lets you delete, copy, or move a large number of lines without having to specify an exact number. You can start a block operation on one screen and complete it after paging to another screen.
To delete a range of lines, block off the area you would like to delete by typing the command DD next to the beginning and ending lines of your block. Press <Enter>. This deletes the entire block, including the ones
containing the DD commands.
dd0020 This 000021 deletes 000022 linesdd0023 20 through 23.
Block off the area by typing MM on the beginning and ending lines you would like to move.
Move the cursor to the line where the block is to be moved. You can use the <F8> and <F7> keys to move forward or backward through your data set to get to the line you want.
Type A to move the block After the line your cursor is on, or type B to move the block Before the line your cursor is on.
Press <Enter>.
mm0030 This is the start of 000031 a block that will 000032 be moved from this 000033 location. The next linemm0034 is the end of the block. 000035 000036 0a0037 Text is moved to after this line.
The procedure is exactly the same as moving blocks except use CC to block off the area.
Block off the area by typing CC on the beginning and ending lines you would like to move.
Move the cursor to the line where the block is to be moved. You can use the <F8> and <F7> keys to move forward or backward through your data set to get to the line you want.
Type A to move the block After the line your cursor is on, or type B to move the block Before the line your cursor is on.
Press <Enter>.
cc0030 This is the start of 000031 a block that will 000032 be copied. 000033 The next line iscc0034 the end of the block. 000035 000036 0b0037 Text is copied before this line.
The text split (TS) line command splits a line into two lines. This is useful when you must insert additional text and the line becomes too long. To split a line, type TSanywhere in
the line command field (but don't press <Enter> yet), then move your cursor to the location in the line where you want to split it. Then press <Enter>. The new line will align with the left side of the paragraph. If lines
are indented, the new line will align with the indent. The "n n" specifies how many blank lines to insert between the split lines. If you do not specify any number, then one blank line will be inserted. If you don't
want a blank line, just press <Enter> again.
The text flow (TF) line command restructures a paragraph following deletions, insertions, splitting, etc. When you enter TF in the line command area, the text is reflowed from the beginning of that line to the
end of the paragraph. The end of a paragraph is denoted by a blank line, a change in indentation, or the special characters period (.), colon (:), or ampersand (&) in column 1. (The special
characters are Script/VS control word delimiters.)
You can also use TF, where nn specifies the rightmost column position for text to flow. For example, TF50 adjusts a paragraph to 50 characters wide. The
default is the right column in the current BOUNDS setting. For more information about bounds, see "Edit Profiles".
The FIND and CHANGE commands are primary commands, entered on the command line. Both of these commands take effect beginning with the current line, usually the first line below the command line. To ensure that
these commands apply to your whole data set, first issue the command TOP on the command line to move back to the top of your data set. You'll see the TOP OF DATA message.
The FIND command locates one or more occurrences of a specified string, starting with the current line. The simple format of the FIND command is:
FIND string
where
"string" is the search string you want to find. If the string contains blanks, non-alphanumeric characters, or single quotes, enclose the string in double quotes ("). Or, if the string contains a
double quote, enclose it in single quotes (').
find tso/* finds the characters tso */find "isn't"/* finds the word isn't */find '"string-1"' /* finds the word "string-1" */
The FIND command has several options that let you further tailor your search, such as specifying a range
of lines to search, finding exact case matches, and indicating whether to find a part of a word or whole word. You can also find multiple occurrences of a given string. See IBM's document ISPF/PDF Edit and Edit Macros, for a complete description of
FIND.
The CHANGE primary command lets you change a specified character string to another string. The editor searches for the first string, beginning with the current line, and, when it finds it, changes it to the second string. The
simple format of the CHANGE command is:
CHANGE string-1 string-2
where "string-1" is the string to be changed, and "string-2" is the string you want the first one changed to. If either string contains non-alphanumeric characters, you must
enclose the string in double quotes.
CHANGE abc def CHANGE "isn't" "aren't"
This form of the CHANGE command changes the first occurrence of "string-1" that it finds.
To change all occurrences of "string-1" to "string-2", use the ALL keyword on the CHANGE command.
CHANGE
string-1 string-2 ALL
Additional options on the CHANGE command allow you to specify a range of lines, indicate a case-sensitive match, or change a whole or part of a word. See IBM's document ISPF/PDF Edit and Edit Macros, for a complete description
of CHANGE.
The LC line command converts all uppercase characters on a line or range of lines to lowercase. The LC command does not modify the caps mode in the profile of the data set you are editing. (See about profiles in
"Edit Profiles.")
LCchanges n n lines from uppercase to lowercase.
lc5030 THIS STARTS 5 LINES
000031 THAT WILL BE
000032 CONVERTED TO
000033 LOWERCASE AFTER
000034 YOU PRESS <ENTER>.
000035
000036
000037 THIS LINE ISN'T AFFECTED.
LCLC lets you change a block of lines, inclusive, from uppercase to lowercase.
lclc30 THIS IS TEXT 000031 THAT WILL BE 000032 CONVERTED TO 000033 LOWERCASE AFTERlclc34 YOU PRESS <ENTER>. 000035 000036 000037 THIS LINE ISN'T AFFECTED.
The UC line command converts all lowercase characters on a line or range of lines from to uppercase. The UC command does not modify the caps mode in the profile of the data set you are editing.
UCchanges n n lines from lowercase to uppercase.
uc5030 this starts 5 lines
000031 that will be
000032 converted to
000033 uppercase after
000034 you press <enter>.
000035
000036
000037 this line isn't affected.UCUC lets you change a block of lines, inclusive, from lowercase to uppercase.
ucuc30 this is text 000031 that will be 000032 converted to 000033 uppercase afterucuc34 you press <enter>. 000035 000036 000037 this line isn't affected.
ISPF profiles allow you to customize your ISPF environment. For example, you can define the number of function (F-keys or PF-keys) keys supported by your terminal and change their default values. You also can tell ISPF characteristics about your terminal, such as the number of lines and columns on your screen. The ISPF editor also lets you define edit profiles (discussed in section "Changing Edit Profile Settings"), which are saved in the ISPF profile.
In TSO, profiles are saved in a data set with a name of your choice.
If you don't create a permanent ISPF profile, ISPF uses a temporary profile during your ISPF session. Any customizations you make will go away when you exit ISPF. For more information about creating a permanent ISPF profile, see the chapter "ISPF Profiles."
The ISPF editor also lets you define edit profiles (discussed later in this document), which are saved in the ISPF profile. Edit profiles define your editing environment and let you customize it for different types of files. By default, the editor associates profile characteristics with your data set, depending on a number of data set characteristics. These may be OK for you... or they may not. The section near the end of this document titled "Edit Profiles" briefly discusses how you can alter your current edit profile. For detailed information about creating and modifying edit profiles, see IBM manual ISPF/PDF Edit and Edit Macros.
A temporary ISPF profile data set is created automatically for you when you log on to TSO. It is assigned to the ddname ISPPROF. Since the data set is temporary, ISPF profile values are not saved between TSO sessions.
You can save your profile values between sessions by allocating a permanent ISPF profile data set. Enter the following command:
%ISPPROF prof.data.set.name
You must specify a valid data set name (for example, UF.). If the data set doesn't exist, it will be created and then allocated to the ddnameuserid.ISPFPROF ISPFPROF.
If the data set already exists, the command allocates it to ddname ISPPROF.
You must allocate this data set for each TSO session in which you want to use ISPF.
This section assumes you already have a TSO start-up CLIST. If you don't, or don't know whether you do, see below.
Add these commands to your start-up CLIST member (e.g., $$$BEGIN):
FREE DDN(ISPPROF)
ALLOC DD(ISPPROF) DS('prof.data.set.name') SHR REUSEThe FREE command frees the temporary ISPPROF data set before you allocate your permanent data set.
If you do not know whether you have a profile data set, use the TSO LISTALC command to list your data sets and their associated ddnames as follows:
LISTALC STATUS
Look for ddname ISPPROF. If the data set name associated with it is one of your own data sets (your userid, a departmental high-level index, or other familiar index will be part of the name), then you already have a user profile
data set.
Edit profiles let you customize your editing environment to suit your needs. The editor uses a set of default profile commands if you do not create your own. Edit profiles are stored in your ISPF profile.
Some data set characteristics implicitly specify an edit profile. These include the name you use as the last qualifier in the data set name (e.g., .CLIST, .TEXT, or .CNTL); the record
length; or record format. Also, the editor makes some assumptions about the data set based on the first few lines of data, such as how to set the case, whether to use internal sequence numbers, and others. Any of the default settings can be overridden by
issuing a command on the command line.
To see the profile settings currently in effect, enter the PROFILE command on the command line. The editor will display several lines containing settings that affect your entire data set. To get rid of these lines, enter
RESET on the command line.
The next section describes some useful edit profile commands and how to change them.
In order to keep any profile changes that you make, they must be saved in a permanent profile data set. See the section "ISPF Profiles" for information about creating an ISPF profile.
To change any profile setting, enter the associated command on the command line. The command takes effect immediately and is saved in the profile when you enter the SAVE command.
AUTOSAVEThis controls whether the data set is automatically saved when you enter the END command or press <F3>. AUTOSAVE ON turns autosave mode on; AUTOSAVE OFF turns it off.
BOUNDSSets
the left and right boundaries. The boundaries control which columns are affected by other commands. This lets you protect parts of your data set from being altered such as with the CHANGE command. To set bounds, enter the following on
the command line:
BOUNDS left-col right-col
If you enter BOUNDS with no columns specified, it resets the bounds to the default bounds for
that data set. The boundaries also determine where text will be flowed when you end power typing.
CAPSControls whether data are automatically converted to
uppercase. CAPS ON converts all characters to uppercase; CAPS OFF leaves characters in mixed case. If the data set to be edited contains lowercase characters, ISPF sets the profile to CAPS OFF.
Similarly, if the data set contains all uppercase characters, ISPF sets the mode to CAPS ON.
NULLSDetermines whether trailing spaces at
the end of a line are treated as blanks or nulls. NULLS ON STD specifies that trailing spaces be treated as one blank, followed by nulls. This is very useful if you plan to use the <Insert> key function, since blanks prevent you
from inserting characters. An empty line is written as all blanks. NULLS OFF specifies that trailing spaces be written as blanks.
NUMBERControls
whether sequence numbering occurs in the data line. NUMBER ON verifies that all lines have valid numbers in ascending order and renumbers lines that are out of sequence. NUMBER OFF turns number mode off. Note that if
your data set contains sequence numbers and you turn numbering off, you must delete the sequence numbers if you no longer want them. Sequence numbers are stored at the far right of your line, so, depending on your line length, they may not be visible on
your screen. You can use the RIGHT and LEFT primary commands to shift your screen to the right or left to see characters that are off the screen. For example, RIGHT 20 shifts the screen right by 20
columns. Similarly, LEFT 20 would shift it back again. Sequence numbers in the data line are not the same as the line numbers that show in the line command field on the left side of your screen. Line numbers are not part of your data
set, whereas sequence numbers are.
PROFILELets you display your current profile, define a new profile, or switch to a different profile.You can define
several different profiles for different types of data sets and tell ISPF which one you want it to use. To just view your current profile, enter PROFILE on the command line. For more information on how to define a new profile or switch
profiles, see the description of the PROFILE command in IBM's manual ISPF/PDF Edit and Edit Macros.
STATSCreates and maintains
statistics for a member of a PDS. STATS ON requests that statistics be created. The statistics include the date of last modification, userid that modified the member, creation date, and others. ISPF will issue a warning message if it
detects that the stats mode and the member are not consistent. Enter RESET to get rid of the message. You will see the message if statistics exist, but stats mode is OFF; or, if stats mode is ON and no statistics exist. Statistics are
useful when multiple users can update the same data set; when a data set has many members; or when you want to keep track of when a member changes.
See CNS document D0009, CNS Software and Software References for information on locating recommended IBM manuals. This document also tells how you can order IBM manuals.
ISPF/PDF Edit and Edit Macros.
TSO/E Version 2 User's Guide
We welcome your comments and suggestions on this and all CNS documentation. Please send your comments to:
UF Computing & Networking Services
112 Bryant Space Sciences Bldg, University of Florida