Le FORTH n'a jamais imposé un standard d'éditeur: les habitudes des programmeurs et les caractéristiques de chaque machine sont trop diverses.
Tout FORTH possède un éditeur, le plus souvent un éditeur de lignes. Le F83 estime souhaitable l'incorporation d'un éditeur plein écran et propose dans les versions du domaine public un éditeur de lignes de type "DEBUTEZ EN FORTH" ainsi que les primitives d'un éditeur plein écran portable à divers terminaux.
Votre éditeur est lui aussi double: d'une part un éditeur de lignes pour lequel par commodité d'habitudes il a été gardé la syntaxe du WFR-79 (éditeur classique "FIG-FORTH portable editor, by William F. RAGSDALE", décrit dans le livre "Le concept FORTH"), d'autre part un éditeur plein écran dédié ORIC.
Le numéro de l'écran courant et la position du curseur dans l'écran courant sont mémorisés dans les variables user SCR et R#; la ligne courante est celle où se trouve le curseur; la variable user SCR mémorise le dernier écran affiché par LIST.
SCREENS est un vocabulaire d'édition plein écran visualisant sur la fenêtre de l'écran ORIC des textes de n'importe quelle dimension. Il a été conçu en premier lieu pour un traitement de texte 80 colonnes ou plus.
SCREENS peut être utilisé par EDITOR en configuration habituelle 16 lignes de 64 colonnes ou encore en 32 lignes de 32 colonnes par écran FORTH.
Les mots SCREENS-ON et SCREENS-OFF sélectionnent l'éditeur avec ou sans SCREENS.
Les deux éditeurs sont très complémentaires et peuvent mixer leurs fonctions. C'est vrai notamment des fonctions de recherche de mots ou de transfert de lignes de EDITOR qui restent accessibles en SCREENS-ON. Exemple: si vous êtes en édition plein écran et que vous faites <ESC> pour sortir de SCREENS puis F TRUC, vous retournez aussitôt en SCREENS avec le curseur positionné au mot 'TRUC'.
passe en édition de l'écran ecr selon le mode actif.
reprend l'édition de l'écran courant: NS ED passe à l'édition de l'écran suivant, PS ED passe à l'écran précédent.
quitte EDITOR et sauve au besoin avec mise à jour.
positionne le curseur en haut et à gauche de l'écran.
"Type": affiche la ligne lig; le curseur est positionné au début de la ligne; la ligne est copiée à PAD.
"Move": déplace le curseur de n caractères (n positif ou négatif); le contenu et le numéro de la ligne courante sont affichés, avec un repère à la position du curseur.
"Hold": copie la ligne lig dans le PAD.
"Replace": remplace la ligne lig par la ligne dans le PAD.
"Erase": efface la ligne lig avec des espaces.
"Delete": détruit la ligne lig, décalant les suivantes vers le haut, après l'avoir copiée dans le PAD; la ligne 15 est vierge.
"Split": insère une ligne vide à lig, décalant les suivantes vers le bas.
"Insert": insère la ligne contenue dans le PAD à lig, décalant les suivantes vers le bas.
"Find": le texte qui suit F jusqu'au retour chariot est copié à PAD et recherché de la position courante du curseur à la fin de l'écran courant; si trouvée, le curseur est positionné juste après et la ligne correspondante est affichée, sinon une erreur "pas trouvé" est générée.
"Next": cherche l'occurrence suivante d'une chaîne déjà trouvée une fois par F.
"Back": recule le curseur de la longueur de la chaîne dans le PAD, pour ramener le curseur en début de chaîne trouvée après un F ou un N.
efface la première occurrence du texte qui suit X jusqu'au retour chariot.
efface de la position courante du curseur jusqu'à la fin de la première occurrence sur la ligne courante du texte qui suit TILL jusqu'au retour chariot.
"Copy": insère à la position du curseur le texte qui suit C jusqu'au retour chariot.
"Put": le texte qui suit P jusqu'au retour chariot remplace la ligne lig.
saisit et remplace à partir de la ligne lig.
saisit et insère à partir de la ligne lig+1.
affiche l'écran et la ligne courants; utiliser LIST pour changer d'écran.
efface l'écran ecr.
efface les écrans prem à dern.
"Next Screen": passe à l'écran suivant.
"Previous Screen": passe à l'écran précédent.
restitue l'écran courant depuis le disque (sert à annuler une session d'édition).
copie l'écran ecrsrce dans l'écran ecrdest. Il faut SAVE-BUFFERS ou FLUSH pour valider la copie ce qui permet de changer de fichier ou de disque.
"Tampon": estampille la ligne zéro: votre cachet est affiché et demandé pour une mise à jour (appuyez sur <RETURN> dès qu'il est conforme).
déplacent le curseur dans le texte.
scrollent le texte dans l'écran selon ses dimensions affichables.
passe à la ligne suivante.
place le curseur en début de ligne; un deuxième <CTRL> + <D> le place en début d'écran.
place le curseur en fin de texte de ligne.
place le curseur au mot suivant.
place le curseur au mot précédent.
toutes les entrées de caractères se font en mode insertion sur les lignes.
supprime le caractère situé en arrière du curseur.
supprime le caractère situé sous le curseur.
détruit la ligne; en répétition, permet d'effacer tout l'écran.
efface le reste de la ligne.
efface tout un mot.
coupe la ligne; utilisé en début de ligne, permet d'insérer une ligne.
recolle la ligne; la ligne suivante n'est supprimée que si elle est vide.
prend dans le PAD le reste d'une ligne.
fixe la fin d'un bloc dans le PAD; inutile s'il faut copier toute une ligne.
copie le bloc fixé entre <CTRL> + <A> et <CTRL> + <Z> à la position du curseur.
sort de SCREENS mais reste dans EDITOR.
bascule 32*32/16*64; facilite la lecture verticale d'un écran en scrollant bas-haut plutôt que droite-gauche.
Familiarisez-vous avec cet éditeur plein écran: vous découvrirez ses qualités très vastes et ses trucs (combinaisons de commandes, mixages, ajouts).