Comandos ISPF
Comandos ISPF
Comandos ISPF
El editor de TSO cuenta con una serie de comandos que nos ayudarán a escribir nuestro
código.
En este volumen veremos los comandos básicos con algunos ejemplos.
Insertar líneas.
El comando para insertar líneas es la letra 'I'.
Insertaría 1 línea para poder escribir nuestro texto a continuación de nuestra línea 11.
000010 Texto A
000011 Texto B
'''''' En esta sección amarilla escribiremos nuestro texto
000012 Texto C
000013 Texto D
Insertaría 3 líneas para poder escribir nuestro texto a continuación de la línea 11.
000010 Texto A
000011 Texto B
''''''
''''''
''''''
000012 Texto C
000013 Texto D
Borrar líneas.
El comando para borrar líneas es la letra 'D'.
Borraría las líneas que haya enter el primer DD y el último (incluídas las líneas sobre las
que hayamos escrito el DD).
000010 Texto A
000013 Texto D
Replicar líneas.
El comando para replicar líneas es la 'R'.
Replicaría las líneas que hay entre el primer RR y el último (ambas incluídas).
000010 Texto A
000011 Texto B
000012 Texto C
000013 Texto B
000014 Texto C
000015 Texto D
Para mover y/o copiar líneas entran dos comandos en juego: el que selecciona la línea a
copiar / mover y el que nos indica el lugar donde se va a copiar o mover.
Para la primera parte tenemos comandos C->copiar línea y M->mover línea.
Para la segunda parte tenemos comandos A->después de, B->antes de y O->sobre.
Copiar líneas
Si queremos copiar la línea de texto "Texto B" entre las líneas de texto "Texto C" y "Texto
D" podríamos hacer:
000010 Texto A
C00011 Texto B
000012 Texto C
B00013 Texto D
O bien
000010 Texto A
C00011 Texto B
A00012 Texto C
000013 Texto D
En el primer caso nos indica que vamos a copiar la línea antes de la línea de texto "Texto
D". En el segundo caso vamos a copiar la línea después de la línea de texto "Texto C". En
ambos casos el resultado sería:
000010 Texto A
000011 Texto B
000012 Texto C
000013 Texto B
000014 Texto D
Mover líneas
Si en vez de copiar la línea, la quisiésemos mover podríamos hacer:
000010 Texto A
M00011 Texto B
000012 Texto C
B00013 Texto D
O bien
000010 Texto A
M00011 Texto B
A00012 Texto C
000013 Texto D
O bien
000010 Texto A
C00011 Texto B
A20012 Texto C
000013 Texto D
El resultado sería:
000010 Texto A
000011 Texto B
000012 Texto C
000013 Texto B
000014 Texto B
000015 Texto D
Copiar un bloque.
CC0010 Texto A
CC0011 Texto B
000012 Texto C
B00013 Texto D
Mover un bloque.
MM0010 Texto A
MM0011 Texto B
000012 Texto C
A00013 Texto D
NOTA: Como se puede observar, este último comando actúa sobre aquellas posiciones que
están informadas a blancos. Sobre las que están informadas no hace nada.
Así la letra C (de la línea de destino) permanece, y le añade un 1 cuyo origen está en la
linea inicial.
Esto es aplicable también al comando de copiar ('C') y también a copiar y mover con
bloques ('CC...CC' y 'MM...MM').
Los comandos para manipular la posición del texto en una línea son '(' y '<' para
desplazamiento a la izquierda, ')' y '> para desplazamiento a la derecha.
Pero veamos cada unos de los comandos en detalle con ejemplos:
El resultado sería:
000010 Texto A
000011 Texto B
==ERR> Texto C
000013 xto D
000014 Texto E
000015 Texto F
¿Qué ha sucedido?
El comando ( elimina dos posiciones de texto desde la posición 1.
El comando < elimina dos espacios desde la posición 1.
He ahí que la línea 000012 al intentar desplazar el texto con el comando < nos haya dado
un error (las dos primeras posiciones son distintas de espacio).
Otra diferencia entre ambos comandos la vemos en las líneas 000014 y 000015
El comando ( elimina dos posiciones de texto desplazando toda la línea.
El comando < elimina dos espacios desplazando sólo el primer trozo de texto que esté
separado por más de dos espacios.
El resultado sería:
=COLS> ----+----1---
==ERR> Texto A
000011 Texto
000012 Texto C
000013 Texto D
000014 Texto E
000015 Texto G
000015 Texto F
Además cada uno de estos comandos pueden ser seguidos de un número < n ó (n ó >n ó )n
donde n es un número.
También es válido para bloques: << ... << n ó (( ... ((n ó >> ... >>n ó )) ... ))n donde n es un
número (si no viene especificado por defecto es 2).
Veámoslo en un ejemplo:
=COLS> ----+----1----+----2
))0010 Texto A
000011 Texto B
))5012 Texto C
<<0013 Texto D
<<3014 Texto E
000015 Texto G
000016 Texto F
Veamos el resultado:
=COLS> ----+----1----+----2
000010 Texto A
000011 Texto B
000012 Texto C
000013 Texto D
000014 Texto E
000015 Texto G
000016 Texto F