This section describes the features of the ISPF editor emulation and outlines some XEDIT line commands.
The ISPF Emulation options screen is used to tune various ISPF emulation behaviors. To access these options, SlickEdit Core must be in ISPF emulation mode. Then, from the main menu, click Window → SlickEdit Preferences, expand Keyboard, and select ISPF Emulation.

The following settings are available:
Prefix area width - The number of characters to display in the prefix area (default is 6). Note that some line commands require four characters (e.g. BNDS, TABS, COLS, MASK). To completely remove the prefix area, set the prefix area width to 0.
Display prefix area for readonly files - The prefix area is used to enter commands. By default, the prefix area is not displayed for read-only files since most of the commands cannot be used. When set to True the following line commands are allowed in read-only mode:
|
Command |
Description |
|
ISPF Line Labels |
Define a label. |
|
ISPF Line Command BNDS |
Insert a column boundary ruler line. |
|
ISPF Line Command COLS |
Insert a column ruler line. |
|
ISPF Line Command First |
Expose one or more lines at the beginning of a block of excluded lines. |
|
ISPF Line Command Last |
Expose one or more lines at the beginning of a block of excluded lines. |
|
ISPF Line Command Show |
Expose one or more lines having the leftmost indentation level in a block of excluded lines. |
|
ISPF Line Command TABS |
Displays the tab definition line. |
|
ISPF Line Command Exclude |
Specifies one or more lines to be hidden (excluded). |
|
ISPF Line Command Select |
Select a block of lines. |
Enter places cursor in prefix area - When this check box is selected, the Enter key places the cursor in the prefix area of the next line. When this check box is cleared, the Enter key places the cursor in column 1 of the next line.
Right CTRL = Enter/Send - When this check box is selected, the Enter key places the cursor at the beginning of the next line, and the Right Ctrl key is used to execute line commands. When this check box is cleared, the Right Ctrl key acts like a normal control key and the Enter key is used to execute line commands.
Cursor page up/down - When this check box is selected, the display is scrolled up/down until the line the cursor is on becomes the last/first line displayed, respectively. If the cursor is already on the top/bottom display line, the display is scrolled one page. When this check box is cleared, page up/down always scrolls one page.
END command saves the file - When this check box is selected, changes to the buffer are saved automatically when the ispf_end (F3) command is performed. Otherwise, you will be prompted if you want to save changes before closing the file.
XEDIT line commands - When this check box is selected, the prefix area will support XEDIT-style line commands.
Home places cursor on command line - When this check box is selected, the Home key places the cursor on the command line. By default, this option is off, and the Home key simply moves the cursor to the beginning of the line.
More ISPF-related options are available on the language-specific General options screen (Window → SlickEdit Preferences → Languages → [Language Category] → [Language] → General). These options include Auto CAPS mode and editing of boundaries and the truncation column. The Bounds setting is unique to ISPF. It controls column bounds for specific ISPF commands that operate on column ranges. See Language-Specific General Options for more information.
The following table of standard ISPF primary commands are supported in the ISPF emulation mode. Primary commands are entered by placing the cursor on the command line (see ISPF Command Line and Text Box Editing for details about command line editing features).
To place the cursor on the command line, either press the Esc key, click on the message line, or use ispf_retrieve (F12). If configured to do so, the Home key will also place the cursor on the command line. Once on the command line, you may use the cursor Up/Down keys to retrieve the previous/last command entered, respectively.
Though primary commands may be typed at the command line explicitly, for convenience you can simply type the last part of the command name in the command line and it will automatically be mapped to the ISPF-specific command. For example, to execute the ISPF reset command, simply type reset at the command line instead of ispf_reset.
Some standard built-in commands conflict with ISPF emulation commands. These conflicts include copy, cut, delete, find, hex, move, and paste. To access the built-in command, you may be able to use a menu option or consult the Help for that command for specific instructions.
|
Command |
Description |
|
ispf_autosave |
Turn on or off prompting to save changes. |
|
ispf_bounds |
Set or reset the left and right edit boundaries. |
|
ispf_bnds |
Set or reset the left and right edit boundaries |
|
ispf_browse |
Browse a data set or member. |
|
ispf_cancel |
Closes the current file or PDS member without saving changes. |
|
ispf_caps |
Turn on or off automatic capitalization mode. |
|
ispf_change |
Replace one string with another within the current buffer. |
|
ispf_chg |
Replace one string with another within the current buffer. |
|
ispf_compare |
Compare the file you are editing with another file. |
|
ispf_copy |
Insert the contents of a file. This command requires a full path, and will not work with only a PDS member name specified. |
|
ispf_create |
Create a new file or PDS member containing the contents of the buffer. |
|
ispf_cut |
Cut lines out of the current buffer and place them in the clipboard. |
|
ispf_delete |
Delete lines in the given line range, or the entire buffer. |
|
ispf_edit |
This command is identical to the built-in edit command. |
|
ispf_end |
Close the current file. |
|
ispf_exclude |
Hide (exclude) lines that match the given search string. |
|
ispf_find |
Find occurrences of the given search string in the current buffer. |
|
ispf_flip |
Reverse the exclude status of lines. |
|
ispf_hex |
Toggle display of the document in Hexadecimal mode. |
|
ispf_hilite |
Specify the use of color-coding in the editor. |
|
ispf_locate |
Find lines with a specific line prefix. |
|
ispf_move |
Move the contents of a file or PDS member into the buffer. |
|
ispf_nonumber |
Turn off numbering mode. |
|
ispf_number |
Controls line numbering mode. Unlike ISPF, this command does affect how lines are inserted. |
|
ispf_paste |
Copy lines from the clipboard to the buffer. |
|
ispf_preserve |
Controls saving of trailing blanks. |
|
ispf_rchange |
Repeat the change requested by the most recent change command. |
|
ispf_renumber |
Immediately update the line numbers in a file. |
|
ispf_replace |
Save the contents of the current buffer to an existing file. |
|
ispf_reset |
Reset the contents of the line prefix area. |
|
ispf_return |
Close the current file. |
|
ispf_rfind |
Repeat the last find operation requested. |
|
ispf_save |
This command is identical to the built-in save command. |
|
ispf_sort |
Sort lines of data in a specified order. |
|
ispf_submit |
Submit the contents of the current buffer for batch processing. |
|
ispf_swap |
Switch to the next buffer. |
|
ispf_tabs |
Define logical tab positions. |
|
ispf_unnumber |
Blank out the line numbers in a file. |
|
ispf_undo |
This command is identical to the undo command. |
The table below shows ISPF edit line commands that are supported in the ISPF emulation mode.
Enter line commands by typing over the prefix area (on the left-hand side of the editor control) which contains either ====== or the line number. To place the cursor in the prefix area, click there, or move the cursor left or backspace until the cursor in is in the prefix area. In addition, Enter will place the cursor in the prefix area of the next line, unless an insert or text entry command is executed.
Edit line commands operate on either a single line or a block of lines. The commands that operate on blocks require you to place the command on both the first and last lines of the block.
Line commands are processed using the ispf_do_lc command when you press Enter, Ctrl+Enter or the Right Control key, depending on your preferences. Several commands or line labels can be entered and then processed at one time. The ispf_reset command is used to clear the prefix area.
|
Command |
Description |
|
ISPF Line Labels |
Define a label. |
|
ISPF Line Command Shift |
Shift data left or right. |
|
Identify a line after which lines are to be inserted. | |
|
Identify a line before which lines are to be inserted. | |
|
ISPF Line Command BNDS |
Insert a column boundary ruler line. |
|
ISPF Line Command Copy S |
Specify lines to be copied to another location. |
|
ISPF Line Command COL |
Insert a column ruler line. |
|
Delete one or more lines. | |
|
Expose one or more lines at the beginning of a block of excluded lines. | |
|
ISPF Line CommandI |
Insert one or more blank data entry lines. |
|
ISPF Line Command Lowercase |
Convert all uppercase letter alphabetic characters in one or more lines to lowercase. |
|
ISPF Line Command Last |
Expose one or more lines at the beginning of a block of excluded lines. |
|
ISPF Line Command Move |
Specify lines to be moved to another location. |
|
ISPF Line Command MASK |
Display the contents of the mask used with the insert (I) and text entry (TE) line commands. |
|
ISPF Line Command Make Data |
Convert one or more no-save lines to data so that they may be saved when the buffer is saved. |
|
ISPF Line Command Overlay |
Identify one or more lines over which the copy or move block is to be overlaid. |
|
ISPF Line Command Repeat |
Specify lines to be repeated immediately following this line or block. |
|
ISPF Line Command Show |
Expose one or more lines having the left-most indentation level in a block of excluded lines. |
|
ISPF Line Command TABS |
Display the tab definition line. |
|
ISPF Line Command TE |
Insert one or more blank lines to allow power typing for text entry. |
|
ISPF Line Command TF |
Reflow paragraphs according to the current column boundary settings. |
|
ISPF Line Command TJ |
Join this line with the next line. |
|
Divide a line so that data can be added. | |
|
Convert all lowercase letter alphabetic characters in one or more lines to uppercase. | |
|
Specify one or more lines to be hidden (excluded). | |
|
ISPF Line Command Select |
Select a block of lines. |
Define a label to be used as a marker to identify the given line. Labels are used to specify a particular line, such as in the ispf_locate command, or to specify a range of lines for an primary command to operate on. The following labels are built in to the ISPF emulation:
.zfirst - The first line in the buffer (abbreviated .zf).
.zlast - The last line in the buffer (abbreviated .zl).
.zcsr - The current line the cursor is on (abbreviated .zc).
( [ n ] - Shift the current line n columns left, default 2
(( [ n ] - Shift the block of lines n columns left, default 2
) [ n ] - Shift the current line n columns right, default 2
)) [ n ] - Shift the block of lines n columns right, default 2
< [ n ] - Data shift the current line n columns left, default 2
<< [ n ] - Data shift the block of lines n columns left, default 2
> [ n ] - Data shift the current line n columns right, default 2
>> [ n ] - Data shift the block of lines n columns right, default 2
This set of commands is used for shifting data left or right. The versions using parenthesis shift text literally, while the other versions attempt to intelligently shift text without disturbing line numbers or comments. In all cases, the default number of columns that the text is shifted is two.
There are two forms to these commands. The single character forms (, ), <, or > specifies that the line and the subsequent n-1 lines are to be shifted. The two-character block forms are placed on the first and last lines of the block to be shifted.
Data is shifted only within the columns defined by the current bounds, or if bounds is turned off, but there is a truncation column, between column 1 and the truncation column. If the shift operation results in data moving beyond the right or left margins, it is truncated and there is no warning message.
Identifies a line after which copied or moved lines are to be inserted n times. You are allowed to specify multiple A, B, or O line commands to have the same copy or move block inserted in multiple places.
Identifies a line before which copied or moved lines are to be inserted ntimes. You are allowed to specify multiple A, B, or O line commands to have the same copy or move block inserted in multiple places.
Insert a column boundary ruler line. After this line is inserted, the < and > marks may be moved in order to adjust the column boundaries. Note that if you have multiple bounds lines, and you change one, the subsequent bounds lines will also be changed.
A column boundary line with one < sign indicates a left boundary and no right boundary (unbounded). A column boundary with one > sign indicates a single column boundary (left and right bounds are same).
C [ n ] - Copy n lines starting with the line with the command.
CC - Copy a block of lines, must match another CC.
Specify lines to be copied to another location. There are two forms to this command. The first form (C [n]) specifies that the line and the subsequent n-1 lines are to be copied. The second (block) form (CC) is placed on the first and last lines of the block to be copied. There can be only one copy block specified. Furthermore, you can not have both a move block and a copy block specified at the same time.
D [ n ] - Delete n lines starting with the line with the command.
DD - Delete a block of lines, must match another DD.
Deletes one or more lines. There are two forms to this command. The first form (D [n]) specifies that the line and the subsequent n-1 lines are to be deleted. The second (block) form (DD) is placed on the first and last lines of the block to be deleted.
F [ n ] - Unexclude (expose) the first n lines of an excluded block.
FF - Unexclude (expose) an entire excluded block.
Expose one or more lines at the beginning of a block of excluded lines. The FF line command exposes the entire block of lines and is to F[m] where m is the number of lines in the block of excluded lines.
LC [ n ] - Lowercase n lines starting with the line with the command.
LCC - Lowercase a block of lines, must match another LCCor LCLC.
LCLC - Lowercase a block of lines, must match another LCCorLCLC.
Converts all uppercase letter alphabetic characters in one or more lines to lowercase. This command only operates on text within the edit boundary columns. There are two forms to this command. The first form (LC [n]) specifies that the line and the subsequent n-1 lines are to be converted. The second (block) form (LCLCor LCC) is placed on the first and last lines of the block to be converted.
L [ n ] - Unexclude (expose) the last n lines of an excluded block.
LL - Unexclude (expose) an entire excluded block (identical to FF).
Expose one or more lines at the end of a block of excluded lines. The LL line command exposes the entire block of lines and is to L[m] where m is the number of lines in the block of excluded lines.
M [ n ] - Move n lines starting with the line with the command.
MM - Move a block of lines, must match another MM.
Specify lines to be moved to another location. There are two forms to this command. The first form (M [n]) specifies that the line and the subsequent n-1 lines are to be moved. The second (block) form (MM) is placed on the first and last lines of the block to be moved. There can be only one move block specified. Furthermore, you cannot have both a move block and a copy block specified at the same time.
Displays the contents of the mask used with the insert (I) and text entry (TE) line commands. Normally, when a line is inserted, the line is initially blank. By specifying an insert mask, you can insert a block of lines with a particular template. The MASK line is editable. Note that if you specify multiple masks in one file, only the first mask is used.
MD [ n ] - Make n data lines starting with the line with the command.
MDD - Make a block of lines data, must match another MDDor MDMD.
MDMD - Make a block of lines data, must match another MDDorMDMD.
Converts one or more no-save lines to data so that they may be saved when the buffer is saved. There are two forms to this command. The first form (MD [n]) specifies that the line and the subsequent n-1 lines are to be converted. The second (block) form (MDMDor MDD) is placed on the first and last lines of the block to be converted.
O [ n ] - Overlay n lines starting with the line with the command.
OO - Overlay a block of lines, must match another OO.
Identifies one or more lines over which the copy or move block is to be overlaid. Text is only overlaid within the column boundaries. If the copy or move block has less lines than the overlay, it is repeated until it fills the entire overlay block.
There are two forms to this command. The first form (O [n]) specifies that the line and the subsequent n-1 lines are to be overlaid. The second (block) form (OO) is placed on the first and last lines of the block to be overlaid.
You are allowed to specify multiple A, B, or O line commands to have the same copy or move block inserted or overlaid in multiple places.
R [ n ] - Repeat the line with the command n times.
RR [ n ] - Repeat the block n times, must match another RR.
Specify lines to be repeated immediately following this line or block. There are two forms to this command. The first form (R[n]) specifies that the line is to be repeated n times. The second (block) form (RR[n]) is placed on the first and last lines of the block to be repeated n times.
S [ n ] - Unexclude (expose) the first n lines of an excluded block.
SS - Unexclude (expose) an entire excluded block.
Expose one or more lines having the leftmost indentation level in a block of excluded lines. The SS line command exposes the entire block of lines and is to S[m] where m is the number of lines in the block of excluded lines.
Displays the tab definition line. After this line is inserted, the * marks may be moved in order to adjust the tab positions. Note that if you have multiple tabs lines, and you change one, the subsequent tabs lines will also be changed.
Inserts one or more blank lines to allow power typing for text entry. This command is identical to the insert (I) command, except that it switches the mode to wrap lines.
Divides a line so that data can be added. The line is split at the column in which the cursor is in when you press Enter. This command does not support multiple lines.
UC [ n ] - Uppercase n lines starting with the line with the command.
UCC - Uppercase a block of lines, must match another UCCor UCC.
UCUC - Uppercase a block of lines, must match another UCCorUCUC.
Converts all lowercase letter alphabetic characters in one or more lines to uppercase. This command only operates on text within the edit boundary columns. There are two forms to this command. The first form (UC [n]) specifies that the line and the subsequent n-1 lines are to be converted. The second (block) form (UCUCor UCC) is placed on the first and last lines of the block to be converted.
X [ n ] - Exclude n lines starting with the line with the command.
XX - Exclude a block of lines, must match another XX.
Specifies one or more lines to be hidden (excluded). There are two forms to this command. The first form (X [n]) specifies that the line and the subsequent n-1 lines are to be excluded. The second (block) form (XX) is placed on the first and last lines of the block to be excluded.
Z [ n ] - Select n lines starting with the line with the command.
ZZ - Select a block of lines, must match another ZZ.
Select a block of lines. There are two forms to this command. The first form (Z [n]) specifies that the line and the subsequent n-1 lines are to be selected. The second (block) form (ZZ) is placed on the first and last lines of the block to be selected.
The following XEDIT line commands are supported and override the like-named ISPF commands when there is a conflict. XEDIT commands can be enabled using the ISPF Options dialog box (Window → SlickEdit Preferences → ISPF Options).
|
XEDIT |
ISPF |
Description |
|---|---|---|
|
/ |
R |
Repeat the marked line. |
|
F |
A |
Paste text following line. |
|
A |
I |
Add (insert) line(s). |
|
P |
B |
Paste text before line. |
|
L |
LC |
Make line lowercase. |
|
LL |
LCC |
Make block lowercase. |
|
U |
UC |
Make line uppercase. |
|
UU |
UCC |
Make block uppercase. |
Note the following conflicts with standard ISPF edit line commands:
F conflicts with unexclude first (F).
A conflicts with paste after (A).
L conflicts with unexclude last (L).
LL conflicts with unexclude block (LL).
The table below shows ISPF primary commands that are not supported in the ISPF emulation mode. The unsupported commands fall into two categories. First, some ISPF commands are made obsolete by more powerful features, such as recovery, profile, and setundo. Second, some commands reflect features that we chose not to implement for the emulation, such as ISPF macros, PDF statistics, model, and pack.
|
Unsupported Command |
Description |
|
autolist |
Control the automatic printing of data to the ISPF list data set. |
|
builtin |
Process a built-in command, even if overloaded by a macro. |
|
define |
Define a name as an alias or macro. |
|
imacro |
Save the name of an initial macro in the edit profile. |
|
level |
Set the modification level number in PDF library statistics. |
|
model |
Copy a model into the buffer or defines a model class. |
|
notes |
Control whether the MODEL command display notes or not. |
|
nulls |
Control null spaces. |
|
pack |
Control whether data is to be stored compressed or not. |
|
profile |
Display edit profile. |
|
recovery |
Specify edit recovery options. |
|
rmacro |
Save a recovery macro in the edit profile. |
|
setundo |
Control the UNDO mode. |
|
stats |
Generate library statistics. |
|
version |
Set the version number in the PDF library statistics. |
|
view |
Save as browse command but prompts on save. |
The following commands are supported in ISPF emulation mode.
|
Supported Command |
Description |
|
ispf_bottom |
Move cursor to the end of the buffer. |
|
ispf_down |
Move cursor to next page of text. |
|
ispf_enter |
Handle the Enter key or Right Control key in ISPF emulation. |
|
ispf_home |
Place the focus on the command line in ISPF emulation. |
|
ispf_retrieve |
Does command line retrieval, getting the next command line from the list. |
|
ispf_retrieve_back |
Identical to the ispf_retrieve back command. |
|
ispf_top |
Move cursor up to the top of the buffer. |
|
ispf_up |
Move cursor up to the previous page of text. |
|
ispf_do_lc |
Immediately process all commands found in the line prefix area. |