Ultra Editor
L'Ultra Editor est un programme en langage machine ajouté à un court chargeur BASIC. Le chargeur s'occupe des tâches ménagères simples comme l'ouverture et la fermeture des fichiers. En utilisant BASIC pour ces tâches, la compatibilité entre les différentes versions de DOS et DOS est maintenue. Le chargeur permet également les modifications de l'utilisateur et facilite grandement la création de copies de sauvegarde.
L'objectif principal d'Ultra Editor est l'édition du code source pour les compilateurs et les assembleurs. Mais bien sûr, il peut être mis à bien d'autres usages. Vous pouvez trouver les capacités de macro d'Ultra Editor utiles pour éditer divers fichiers texte, ainsi que des programmes BASIC - rappelez-vous simplement qu'Ultra Editor n'aime pas les lignes de plus de 128 caractères.
Chargement et exécution de l'éditeur
L'Ultra Editor est d'abord appelé en exécutant le coordinateur de commandes de CoCo-C. Taper :
RUN"CCENTER |
Une fois les menus affichés, sélectionnez E (pour modifier). Cela chargera et exécutera l'éditeur.
La première chose que vous verrez est un avis de droit d'auteur et une invite pour un nom de fichier. Ce prompt concerne le fichier initial que vous souhaitez modifier. Si vous appuyez sur Enter sans nom de fichier, vous passerez au menu principal ; si vous entrez un nom de fichier, le fichier sera chargé et vous passerez en mode d'édition. Remarque : si le fichier n'existe pas ou si une erreur d'entrée/sortie est rencontrée, vous entrerez également en mode d'édition sans lecture de données ni création de fichiers.
Pour mettre de l'ordre dans cette section, nous supposerons que vous n'avez pas entré de nom de fichier et que vous êtes maintenant dans le menu principal d'Ultra Editor.
Commandes du menu principal
Dans ce menu principal, vous avez huit options. Chacune est accessible en appuyant sur la touche correspondant à la première lettre du choix.
Notez que le haut de l'écran affiche la mémoire libre actuelle dans le tampon actuel. De plus, si le tampon alternatif a été sélectionné, un message vidéo inverse 'tampon secondaire' sera affiché. Toutes les commandes du menu principal agissent sur le tampon courant. Plus d'informations sur les tampons plus tard.
Éditeur
Cela devrait être assez évident. Il vous emmène en mode édition (beaucoup plus à ce sujet plus tard !).
Lire le fichier
Cette option permet la lecture d'un nouveau fichier. Attention, le contenu existant du tampon sera écrasé. Pour cette raison, une vérification est effectuée pour voir si une sauvegarde a été effectuée depuis la dernière sortie de l'éditeur. Si aucune sauvegarde n'a été effectuée, vous en serez informé et invité à confirmer votre choix.
Ajouter un fichier
C'est la même chose que l'option 'read', seulement dans ce cas le fichier sera ajouté à la fin du fichier en mémoire.
Enregistrer le tampon
Cette option enregistre le tampon sur le disque. Voir également les commentaires sur "sauvegarde partielle/point" ci-dessous.
Tampon d'impression
Cette option imprime le tampon. Si l'imprimante est hors ligne, un message sera imprimé. Vous devez appuyer sur Enter ou Break pour revenir au menu principal de l'éditeur. Voir également les commentaires sur "enregistrement/impression partiels" ci-dessous.
Enregistrer la macro
Cette option vous permet d'enregistrer les macros que vous avez définies. Cela se fait en réenregistrant Ultra Editor sur le disque. Étant donné que les tampons utilisés pour les définitions de macros se trouvent dans le programme, ils sont enregistrés avec le programme.
Menu principal CoCo-C
Cette option existe dans Ultra Editor et vous ramène au coordinateur de commandes de CoCo-C (menu principal). L'avertissement "files not saved" s'affichera si aucune sauvegarde n'a été effectuée.
@FILE
Le nom de fichier par défaut s'affichera après ce prompt. La valeur par défaut est le dernier nom de fichier saisi pour une commande de chargement ou de sauvegarde. Il peut être forcé à un nom différent en appuyant sur @ et en saisissant un nom de fichier.
Options du menu principal
Entrée du nom de fichier
Chaque fois qu'un nom de fichier est requis, le nom de fichier par défaut (s'il est défini) s'affiche en haut de l'écran. Si vous appuyez sur Enter seul, le nom par défaut sera utilisé. Cela peut être un gain de temps considérable lorsque vous effectuez des sauvegardes fréquentes d'un fichier.
Par défaut, l'extension /TXT et le numéro de l'unité de disque défini par la commande DRIVE seront ajoutés à vos noms de fichiers, sauf si ces éléments sont déjà présents dans votre entrée. De plus, le nom de fichier DIR est réservé. La saisie de DIR au prompt d'un nom de fichier entraînera l'affichage d'un répertoire de disque. Si vous souhaitez avoir un répertoire d'un unité de disque autre que l'unité de disque par défaut, utilisez le format DIR:2 ... Notez les deux-points !
Options d'impression partielle et d'enregistrement
Si un bloc a été défini dans le tampon courant, une option supplémentaire vous sera proposée lorsque vous sélectionnerez les options 'print' et 'save'. Il vous sera demandé si vous souhaitez que le fichier entier soit enregistré/imprimé ou uniquement le bloc défini. Répondez en conséquence.
Commandes de l'éditeur
Commençons d'abord quelques conventions utilisées dans cette documentation :
- Chaque fois que vous voyez une touche référencée dans une couleur noir inversé (c'est-à-dire CTRL+A), nous nous référons à une combinaison de touches de contrôle. Ces touches sont générées en maintenant enfoncée la touche marquée CTRL et en appuyant sur la touche en même temps. Toutes les combinaisons de touches de contrôle valides génèrent des commandes d'éditeur.
- Les touches référencées entre couleurs noir inversé (c'est-à-dire ENTER) signifient des touches normales. Dans certains cas, une valeur différente sera générée lorsque la touche SHIFT est pressée avec la touche. Parfois, la touche ALT modifiera la pression de la touche. Si la combinaison ALT particulière n'est pas définie, la touche ALT n'aura aucun effet.
- Chaque commande peut être annulée en appuyant sur CTRL+BREAK. N'oubliez pas que cela signifie que vous maintenez CTRL enfoncé et appuyez sur BREAK. Cette combinaison de touches générera un message d'erreur "keyboard abort" en haut de l'écran.
- Chaque fois que vous êtes dans l'éditeur, vous verrez une ligne en haut de l'écran mise en évidence en vidéo inverse. Cette ligne s'appelle la 'ligne d'état'. Il vous informe de la position actuelle du curseur dans la colonne, du numéro de ligne actuel, de la quantité de mémoire libre disponible et des modes d'édition actuels. Cette ligne est également utilisée pour la saisie des données requises par certaines commandes. Dans ce cas, il s'agit de la 'ligne de commande'.
Saisie de texte
À bien des égards, Ultra Editor ressemble beaucoup à un traitement de texte, mais à bien des égards, il est très différent. Les différences fondamentales résident dans le type de texte Ultra Editor et un traitement de texte. Ultra Editor est un éditeur de ligne. Cela signifie qu'il suppose que tout le texte est composé de lignes - contrairement à la plupart des traitements de texte traitant le texte comme un flux continu de caractères (la partie impression des traitements de texte gère des tâches banales comme déterminer la fin des lignes, ...)
Pour saisir du texte dans Ultra Editor, déplacez simplement le curseur à l'endroit où vous souhaitez que le caractère apparaisse à l'aide des différentes commandes de déplacement ci-dessous. Chaque fois qu'un caractère est saisi, Ultra Editor vérifie d'abord s'il s'agit d'une commande. Si c'est le cas, la commande est exécutée. Sinon, le caractère est placé dans le tampon et le curseur est déplacé d'une position vers la droite.
Ultra Editor autorise les lignes d'une longueur maximale de 128 caractères. Un écran virtuel de 24 lignes par 128 caractères est maintenu en mémoire. Le défilement horizontal intégré au CoCo 3 a été utilisé pour permettre un fenêtrage instantané dans n'importe quelle partie de cet écran en utilisant le mode 40 ou 80 colonnes. Lorsque le curseur quitte l'écran (vers la gauche ou vers la droite), la fenêtre se déplace pour afficher le texte supplémentaire.
Lors de l'insertion de caractères sur une ligne, les caractères à droite de la ligne seront perdus. Cela ne se produira bien sûr que si le caractère de la colonne 127 est un caractère autre qu'un espace. Normalement, vous modifierez des lignes beaucoup plus courtes que 128 caractères, de sorte que le problème ne se produira pas.
Aide
L'aide sur toutes les différentes commandes est disponible à chaque fois que vous êtes dans l'éditeur. Pour accéder aux écrans d'aide, appuyez simplement sur la touche F1. Notez que cette touche n'est pas active lors de la définition de la macro. De plus, F1 annulera les commandes comme un 'change' et un 'jump'. L'aide se compose d'un certain nombre d'écrans, appuyez sur Enter pour passer d'un écran à l'autre et enfin revenir à l'éditeur.
Définitions des touches alternatives
En utilisant la combinaison de touches Alt, les caractères suivants peuvent être générés :
Touche Alt | Caractère | Valeur ASCII | Commentaires |
---|---|---|---|
Alt+1 | | | $7C (124) | |
Alt+2 | ~ | $7E (126) | |
Alt+8 | [ | $5B (91) | Souvenez-vous que c'est la touche ( |
Alt+9 | [ | $5D (93) | Souvenez-vous que c'est la touche ( |
Alt+, | { | $7B (123) | Souvenez-vous que c'est la touche < |
Alt+. | } | $7D (125) | Souvenez-vous que c'est la touche > |
Alt+↑ | $5E (94) | Ceci est affiché sous la forme d'une flèche vers le haut sur l'écran, mais c'est en réalité un '^', et c'est ainsi qu'il apparaît sur la plupart des imprimantes. | |
Alt+← | $5F (95) | Cela s'affiche sous la forme d'une flèche vers la gauche à l'écran, mais il s'agit en fait d'un "souligné", et c'est ainsi qu'il apparaît sur la plupart des imprimantes. | |
Alt+↓ | $60 (96) | Cela s'affiche sous la forme d'un '^' à l'écran. Sa représentation ASCII correcte est vraiment '`'. A noter que ce caractère a des usages particuliers, détail plus tard. |
Autres modifications par rapport aux définitions de touches Color Computer standard :
Touche SHIFT | Caractère | Valeur ASCII |
---|---|---|
SHIFT+@ | \ | $5C (92) |
Toutes les autres touches suivent la convention standard Color Computer. Les différences dans les véritables représentations ASCII des combinaisons ALT+touche de flèche sont dues au matériel du Color Computer, et non de l'Ultra Editor.
Répétition de touches
Dans l'éditeur, toutes les touches se répéteront si elles sont maintenues enfoncées pendant plus d'une demi-seconde. Les caractères générés avec la touche CTRL ne se répéteront pas. Lors de la saisie de noms de fichiers,... à partir du menu principal d'Ultra Editor, les redéfinitions de clavier ci-dessus ne sont pas actives.
Commandes de déplacement du curseur
Une fois que le texte a été chargé dans le tampon (ou saisi), il existe de nombreuses commandes puissantes de déplacement du curseur pour vous aider à vous rendre là où vous voulez être :
Touches | Description |
---|---|
← | Déplace le curseur d'une position vers la gauche. Bien entendu, vous ne pouvez pas dépasser la colonne 0. |
→ | Déplace le curseur d'une position vers la droite. Encore une fois, vous ne pouvez pas dépasser la colonne 127. |
Shift+← | Déplace le curseur au début de la ligne courante. Le début de la ligne est le premier caractère non-espace sur la ligne. Sur une ligne vide, le curseur est déplacé à la colonne 0. |
Ctrl+← | Cela déplace le curseur sur la colonne 0, la gauche absolue de l'écran. |
Ctrl+→ | Cela déplace le curseur sur la colonne 127, la droite absolue de l'écran. |
Clear | Déplace le curseur vers le mot suivant (en fait le caractère d'espacement suivant). |
Shift+Clear | Déplace le curseur au début du mot précédent. |
↑ | Déplace le curseur d'une ligne vers le haut. |
↓ | Déplace le curseur d'une ligne vers le bas. |
Shift+↑ | Déplace le curseur d'une ligne vers le haut et au début de cette ligne. |
Shift+↓ | Déplace le curseur d'une ligne vers le bas et au début de cette ligne. |
Ctrl+↑ | Déplace le curseur de 22 lignes vers le haut dans le fichier (une commande de page). |
Ctrl+↓ | Déplace le curseur de 22 lignes vers le bas dans le fichier. |
Ctrl+: | Déplace le curseur au début du fichier. (Ceci est plus facile à retenir en tant que CTRL+*, pour START.) |
Ctrl+- | Déplace le curseur à la fin du fichier. (La logique ici est que '-' est à côté de ':'.) |
Commandes de recherche
Ultra Editor dispose d'un certain nombre de commandes pour vous aider à trouver du texte dans un fichier. Veuillez noter ces commentaires sur le caractère ^. Ils s'appliquent également aux commandes CHANGE et JUMP.
Le caractère ^ (généré par ALT+↓) a trois utilisations spéciales lors de la saisie de commandes, selon sa position dans le texte saisi.
- Si un ^ est le premier caractère de la ligne, les caractères majuscules et minuscules seront identiques. (c'est-à-dire que dans une commande FIND, '^text' et '^TEXT' correspondent à 'text', 'TEXT' et 'TeXt').
- Si un ^ est au milieu du texte saisi (c'est-à-dire pas la première position ou le dernier caractère autre qu'un espace), il est traité comme un caractère générique. Cela signifie que TE^T correspondra à TEST et TEXT.
- Un ^ en tant que dernier caractère d'une ligne est utilisé pour inclure des blancs de fin dans l'entrée. Normalement, les blancs de fin sont déposés dans le seau de bits, mais cette option est incluse au cas où vous souhaiteriez faire correspondre quelque chose comme 'TEXT'. Si vous saisissez 'TEXT ENTER', le dernier espace sera inclus. En utilisant 'TEXT ^ENTER' l'espace fera partie de l'entrée ; le ^ sera mangé par le monstre du seau de bits. Notez que si vous souhaitez avoir un caractère générique comme dernier caractère sur une ligne, vous devrez alors utiliser deux ^. Le dernier est mangé, l'avant-dernier est retenu comme un caractère générique. Une séquence similaire est nécessaire si vous souhaitez avoir un caractère générique comme premier caractère dans votre entrée. Puisque le premier ^ est interprété comme une directive Ignorer la casse, deux ^ sont nécessaires -- le premier ignore la casse, le second est un caractère générique. En raison de cette limitation, vous ne pouvez pas utiliser le caractère générique en première position et faire en sorte que la recherche soit sensible à la casse.
- CTRL+F : Trouver une correspondance. Vous serez invité à indiquer une cible à rechercher sur la ligne de commande. Le tampon sera balayé vers l'arrière à partir de la position actuelle du curseur.
- CTRL+B : C'est la même chose que FIND, sauf que le texte est balayé vers l'arrière à partir de la position actuelle du curseur.
Notez que le texte saisi avec CTRL+F et CTRL+B est enregistré dans un tampon pour les deux prochaines commandes. Ce tampon est effacé lorsque vous accédez au menu principal d'Ultra Editor :
- CTRL+N : Trouver la prochaine occurrence du motif entré avec CTRL+F ou CTRL+B (en avant à partir de la position actuelle du curseur).
- CTRL+L : Retrouver l'occurrence précédente du motif saisi avec CTRL+F ou CTRL+B (en arrière depuis la position actuelle du curseur).
Commandes de changement
Touches | Description |
---|---|
CTRL+C | Remplacez un motif par un motif de remplacement. Vous serez d'abord invité avec un 'Change:' puis un 'To:'. La première correspondance à partir de la position du curseur sera modifiée. Si aucune correspondance n'est trouvée, un message d'erreur s'affiche sur la ligne d'état. |
CTRL+A | Changez à nouveau. Tout comme dans Find, l'entrée de modification est enregistrée dans un tampon. Il s'agit d'un tampon différent de ceux utilisés par Find et Jump ; il est également effacé en quittant le menu principal d'Ultra Editor. La commande CTRL+C est la même que CTRL+C, elle évite juste l'entrée initiale. En combinant CTRL+C/CTRL+A et CTRL+F/CTRL+N, vous pouvez avoir une commande de modification assistée - trouvez d'abord l'occurrence, puis modifiez-la si vous le souhaitez. |
CTRL+G | Changement global. Cette commande accepte les entrées comme CTRL+C, elle change alors toutes les occurrences depuis le début du fichier. Essentiellement, c'est la même chose que d'aller au début d'un fichier, de faire un CTRL+C puis de répéter les CTRL+A. Notez qu'une erreur "no match" sera générée lors de la dernière modification. Cela devrait être une erreur "no more matches", mais dans l'intérêt de la conservation de la mémoire, l'erreur générée par CTRL+A a été utilisée. |
Commandes de saut (JUMP)
Touches | Description |
---|---|
CTRL+J | La commande JUMP est le moyen le plus rapide pour passer d'une partie de votre programme à une autre. La commande JUMP a cinq formes différentes - chacune est conçue pour des applications spécifiques, veuillez donc lire attentivement. De plus, JUMP ne vérifie jamais la casse (c'est-à-dire majuscule=minuscule), mais pour des raisons de cohérence, le caractère ^ peut être inclus comme premier caractère d'une commande JUMP -- il est ignoré. |
Lorsque la commande JUMP est lancée, vous verrez un prompt sur la ligne de commande. Voici les différentes manières de répondre :
- Un nombre compris entre 0 et 65535. Cela déplacera le curseur sur la ligne correspondant au nombre saisi. Si le numéro de ligne le plus élevé est inférieur au numéro saisi, une erreur s'affiche. Notez qu'une entrée comme '123TEXT' est interprétée comme le numéro de ligne 123.
- Une chaîne de caractères correspondant à une étiquette dans un programme en langage assembleur. Par exemple, 'LABEL' fera avancer le curseur sur une ligne commençant (dans la colonne 0) par le texte 'LABEL'. La correspondance doit se terminer par un espace, un '(' ou une fin de ligne. Cela signifie que les lignes suivantes correspondent :
- Si l'entrée est un '<', le curseur sera déplacé vers le caractère 'début de bloc', s'il existe.
- Si l'entrée est un '>', le curseur sera déplacé sur le caractère 'fin de bloc', s'il existe.
LABEL LABEL JMP LABEL LABEL (X,Y) |
Notez que LABEL1 et LABELS ne correspondent pas. La recherche de l'étiquette se fait depuis le début du tampon. Si vous avez 2 étiquettes identiques, la seconde ne sera jamais retrouvée par JUMP. Si aucune correspondance n'est trouvée, un message d'erreur s'affichera sur la ligne de commande.
Commandes d'édition
Ultra Editor contient de nombreuses commandes d'édition puissantes. N'oubliez pas que ces commandes affectent la ligne sur laquelle le curseur est positionné. De plus, toutes les modifications sont apportées dans un tampon. Les modifications ne sont pas réellement insérées dans le tampon principal jusqu'à ce qu'une commande de non-édition soit donnée (c'est-à-dire déplacer le curseur à la ligne suivante, ENTER, CTRL+J, ou CTRL+C,...). Cela signifie que toute modification effectuée par erreur peut être annulée avec CTRL+BREAK.
Touches | Description |
---|---|
CTRL+K | Tue ou supprime la ligne courante. Lorsqu'une ligne est supprimée, elle est entreposée dans un tampon et peut être restaurée avec la commande CTRL+U -- elle ne peut pas être annulée avec CTRL+BREAK. |
CTRL+U | Annulez ou restaurez une ligne ayant été supprimée avec CTRL+K. Notez qu'une ligne supprimée une fois peut être désactivée un certain nombre de fois. Cela peut être utile pour dupliquer une ligne - tuez-la, annulez-la à la même position et enfin, annulez-la à nouveau à la nouvelle position. |
CTRL+H | Ligne de piratage. Tous les caractères autres que des espaces entre la position du curseur et la fin de la ligne sont supprimés. |
CTRL+Y | Coup sec. Supprimer jusqu'à l'espace suivant - essentiellement une suppression de mot. |
BREAK | Un vrai retour arrière. Le curseur est déplacé d'une position vers la gauche et le caractère à la nouvelle position du curseur est supprimé. |
SHIFT+BREAK | Supprimer le caractère au curseur. |
CTRL+Barre d'espace | Insère un espace à la position actuelle du curseur. |
Commandes de blocs
Un certain nombre de commandes d'Ultra Editor ne fonctionnent pas dans l'intégralité du tampon de texte, mais plutôt sur un bloc défini dans le tampon. Avant que l'une des commandes de bloc ne fonctionne, un bloc doit être défini. Si aucun bloc n'est défini, un message d'erreur approprié s'affichera.
Touches | Description |
---|---|
CTRL+< | Insère un marqueur de début de bloc avant la ligne courante. Une fois le marqueur inséré, une ligne sera insérée dans le texte. Ultra Editor ne permet pas l'insertion d'un marqueur de début et d'un marqueur de fin. |
CTRL+> | Insère un marqueur de fin de bloc avant la ligne courante. Un marqueur de fin de bloc ne peut pas être inséré avant un marqueur de début de bloc. |
CTRL+D | Supprimer le bloc. Le curseur sera placé au début du bloc défini et le bloc sera supprimé. Attention avec cette commande -- le bloc n'est pas enregistré dans un tampon. Pour rappel, un message d'avertissement s'affiche. Vous devez entrer un mot commençant par la lettre 'Y' (soit 'Y' ou 'y' ou 'yes' sont corrects) et appuyer sur ENTER pour que la suppression se produise. Toute autre entrée annulera la commande de suppression. |
CTRL+S | Indique la taille du bloc. La taille du bloc défini sera affichée sur la ligne de commande (une taille de 0 indique qu'un bloc n'a pas été défini). De plus, la taille actuelle du tampon de texte sera également affichée. |
Remarque : Les commandes de bloc suivantes reposent sur un tampon pour le transfert de données. La taille maximale de l'un de ces transferts est d'environ 8 000 caractères. Si le bloc défini est trop grand, un message d'erreur s'affichera et la commande sera annulée. Utilisez CTRL+S pour déterminer de combien raccourcir le bloc avant de réessayer la commande.
Touches | Description |
---|---|
CTRL+M | Déplacer le bloc. Le bloc défini sera transféré à la position actuelle du curseur et l'ancien bloc sera supprimé. Les marqueurs de blocs seront également supprimés. |
CTRL+R | Copier (répliquer) le bloc. Le bloc défini sera copié à la position actuelle du curseur. Les marqueurs de bloc seront supprimés, mais l'ancien bloc restera. |
CTRL+X | Xtransfert : Cette commande transférera un bloc marqué dans le tampon alternatif (plus sur les tampons plus tard) à la position actuelle du curseur dans le tampon actuel. Aucune modification n'est apportée aux données dans le tampon alternatif. |
CTRL+Z | Supprimer tous les marqueurs de bloc dans le tampon actuel. |
Tampons
Comme mentionné précédemment, Ultra Editor gère deux tampons de texte distincts. Le tampon principal a une longueur d'environ 50 000 octets, le tampon secondaire a une longueur d'environ 16 000 octets. Avec la commande CTRL+X, il est possible de transférer des données entre les deux tampons.
Les tampons partagent les macro-commandes et les tampons FIND et CHANGE -- ainsi les commandes d'édition dans un tampon peuvent facilement être dupliquées dans les deux tampons.
Alors, pourquoi utiliseriez-vous un tampon secondaire ? Comme dans tant de choses avec les ordinateurs, nous sommes sûrs que vous trouverez de nombreuses utilisations - des utilisations auxquelles nous n'avions jamais pensé. Mais pour commencer, vous pouvez modifier deux documents distincts en même temps. Ou, vous pouvez avoir un programme dans le tampon principal, lire un fichier de bibliothèque dans le tampon secondaire, puis transférer des parties de la bibliothèque vers différentes parties du tampon principal.
Touches | Description |
---|---|
CTRL+@ | Basculer vers un autre tampon. La ligne de commande aura un '*' en position 40 si le tampon secondaire est actif. De plus, dans le menu principal, le texte 'secondary buffer' apparaîtra s'il est actif. |
Modes d'édition
L'édition peut être effectuée en mode insertion ou surimpression. Insérer signifie qu'un caractère est inséré à la position actuelle du curseur et que le texte à droite du curseur est déplacé vers la droite. Une surimpression signifie que le caractère au niveau du curseur est recouvert d'un nouveau caractère. Dans les deux cas, le curseur est déplacé d'une position juste après l'insertion du caractère.
Touches | Description |
---|---|
F2 | Met Ultra Editor en mode insertion. Un 'I' s'affichera dans la ligne d'état indiquant 'Insérer'. |
SHIFT+F2 | Met Ultra Editor en mode de surimpression. Un 'O' sera affiché dans la ligne d'état indiquant 'Overstrike' (surimpression). |
Tout comme BASIC, Ultra Editor lira le clavier en majuscules et minuscules ou simplement en majuscules. La ligne de commande affichera un 'L' si les minuscules sont activées, ou un 'U' si seules les majuscules sont acceptées.
Touches | Description |
---|---|
SHIFT+O | Basculera entre les modes majuscules/minuscules. |
Pour les personnes écrivant du code structuré, une fonction d'auto-indentation a été incluse dans l'Ultra Editor. Lorsqu'elle est activée, cette fonction permet d'indenter une nouvelle ligne avec le même nombre d'espaces que la ligne la précédant. La fonction ne fonctionne que lorsque ENTER est utilisé pour commencer une nouvelle ligne.
Touches | Description |
---|---|
CTRL+I | Active et désactive la fonction d'indentation automatique. Lorsqu'il est activé, un '->' s'affiche sur la ligne d'état. |
Commandes de macro
L'une des fonctionnalités faisant d'Ultra Editor un éditeur aussi puissant est la possibilité de définir votre propre séquence de frappes sous la forme d'une macro à une frappe. Ces définitions de macros peuvent inclure non seulement des caractères de texte standard, elles peuvent également inclure des commandes de curseur, des commandes CHANGE ou JUMP et même appeler d'autres macros. En quelque sorte, tout ce que vous pouvez faire à partir du clavier peut être dupliqué dans une macro.
Touches | Description |
---|---|
CTRL+V | Définir une macro. Il vous sera demandé quelle macro vous souhaitez définir. Répondez par un numéro de 1 à 9. Si vous souhaitez modifier une macro déjà définie, faites précéder le numéro d'un 'E' (c'est-à-dire e9). Si l'option 'E' a été utilisée, la macro existante sera affichée sur la ligne 2, sinon un champ vide sera affiché. |
Lors de la saisie de la définition de la macro, quelques modifications ont été apportées aux méthodes d'édition normales. Tout d'abord, les définitions de macros sont toujours faites en mode surimpression. En effet, les commandes telles que DELETE,... ne fonctionnent plus (elles ne peuvent pas fonctionner dans la définition et sont toujours autorisées dans la définition elle-même). Par conséquent, les seules commandes d'édition disponibles sont les touches fléchées gauche et droite déplaçant le curseur. Si vous faites une erreur, déplacez le curseur sur l'erreur et tapez dessus. Désolé, mais vous ne pouvez pas insérer ou supprimer des caractères dans la définition. Deuxièmement, pour quitter le mode de définition, vous devez appuyer à nouveau sur CTRL+V. Cela a du sens puisque vous ne pouvez pas définir une macro à partir d'une autre macro - et puisque CTRL+V ne peut pas être utilisé et qu'une sorte de touche de sortie est requise ; quelle meilleure touche utiliser pour signaler la fin de la macro. Notez que le curseur peut se trouver à n'importe quelle position dans la macro lorsque CTRL+V est enfoncé et la ligne entière sera acceptée. Si vous modifiez une macro existante et décidez que vous ne souhaitez pas apporter de modifications après tout, utilisez simplement CTRL+BREAK pour quitter - aucune modification ne sera apportée à la définition existante dans ce cas.
À l'exception de CTRL+BREAK, CTRL+V, ← et → toute autre frappe peut être incluse dans une définition de macro. Malheureusement (en raison des limitations matérielles du CoCo 3), les touches de contrôle apparaîtront de la même manière que les touches normales, mais elles fonctionneront différemment lorsqu'elles seront appelées. Par exemple, si vous appuyez sur J ou CTRL+J, un 'J' apparaîtra. Mais si vous appelez la macro, la première définition fera apparaître un 'J' dans le texte ; le second lancera une commande JUMP. Faites attention aux touches sur lesquelles vous appuyez lors de la définition de la macro. Les autres touches (ENTER, ← →, ↑, ↓,...) seront affichées en caractères "étranges".
Une macro ne peut contenir que 49 caractères. Si vous avez saisi plus de 49 caractères dans votre définition, la macro sera tronquée aux 49 premiers caractères -- aucun message d'erreur ne s'affichera.
Une fois que vous avez défini vos macros, vous pouvez les enregistrer pour une utilisation ultérieure. Utilisez simplement l'option Save Macros dans le menu principal pour enregistrer vos définitions de macros.
Touches | Description |
---|---|
CTRL+1...CTRL+9 | Appelle une macro. Une fois que vous avez défini votre macro, appuyez sur la touche CTRL et la touche numérique correspondant au numéro de la macro pour appeler la macro définie. |
Les macros peuvent être très utiles, mais quelques exemples vous aideront à trouver vos propres utilisations. Remarque : dans ces exemples, les frappes générées par la touche CTRL seront affichées au format { }, mais n'incluez ni { ou } dans votre définition.
- Si vous en avez assez de taper un mot particulier dans votre texte, définissez simplement l'une des macros sur le mot. Par exemple, si vous vous retrouvez souvent à taper "printf", définissez simplement la macro "1" sur ce texte. Maintenant, chaque fois que vous tapez CTRL+1, le mot 'printf' sera tapé.
- Passons maintenant à une macro plus complexe. Supposons que vous utilisiez Ultra Editor pour écrire du code source en langage assembleur et que vous souhaitiez que toutes vos sous-routines commencent par un bloc ressemblant à ceci :
- Celui-ci a été utilisé lors de la préparation du fichier d'aide pour Ultra Editor. Le texte d'aide a été saisi sans les 'FCC' nécessaires à
l'assembleur. Une macro a été définie de la manière suivante :
F2←FCCBarre d'espace"SHIFT+→",0↓ A chaque appel de cette macro, le mode d'édition était basculé sur insertion (avec F2), le curseur était déplacé en début de ligne, le texte 'FCC'" était tapé, le curseur était déplacé en fin de ligne ligne, ",0" a été tapé et le curseur a avancé à la ligne suivante.
- Si vous passez souvent à une étiquette, vous pouvez définir une macro en tant que commande JUMP.
- Même si les touches se répètent et que vous disposez de nombreuses touches de curseur, vous souhaiterez peut-être faire défiler du texte très rapidement.
******************************************** * * Nom de sous-routine allant ici * |
et vous en avez marre de maintenir la touche '*' enfoncée. Vous pouvez définir une macro pour faire le travail pour vous :
********************************************ENTER*ENTER*ENTER↑ SHIFT+→ Barre d'espace |
Dans cette macro, le premier groupe de '*' affiche la première ligne, le ENTER passe à la ligne suivante, un autre '*' est affiché, le ENTER suivant avance à la ligne 3, un autre '*' est affiché . Enfin, le ↑ déplace le curseur à la ligne 3, SHIFT+→ déplace le curseur à l'espace après le '*' et la Barre d'espace déplace le curseur à la position où nous voulons commencer notre texte.
{J} LABELENTER |
permettra d'économiser beaucoup de frappes. Maintenant, tout ce que vous avez à faire est d'appuyer sur la touche de contrôle appropriée.
Si vous définissez CTRL+9 comme '↑ CTRL+9' vous lancerez un balayage rapide à travers le texte. Appuyez sur CTRL+BREAK pour arrêter le curseur.
Les macros peuvent s'appeler ou s'appeler elles-mêmes. Par exemple, si vous avez défini CTRL+1 comme 'BONJOUR' et CTRL+2 comme 'AU REVOIR' vous pourriez définir CTRL+3 comme CTRL+1 CTRL+2. Maintenant, lorsque vous appuyez sur CTRL+3, 'BONJOURAU REVOIR' s'affiche. Une autre méthode consiste à appeler une macro elle-même (appelée récursivité). Par exemple, vous pouvez définir CTRL+1 comme 'BONJOURENTERCTRL+1'. Maintenant, lorsque vous appuyez sur CTRL+1, le texte 'BONJOUR' sera affiché, le curseur passera à la ligne suivante et la macro 1 sera appelée et 'BONJOUR' sera imprimé à nouveau. Cette procédure se poursuivra jusqu'à ce qu'une erreur soit générée (probablement mémoire pleine) ou que CTRL+BREAK soit enfoncé (ce qui provoque sa propre erreur).
Les macros peuvent être imbriquées jusqu'à 20 niveaux de profondeur. Une tentative d'imbrication plus profonde que cela entraînera une erreur.
Commandes diverses
Aucune de ces commandes n'est en aucun cas "divers" - elles ne semblaient tout simplement pas correspondre à l'une des autres catégories de cette section du manuel.
Touches | Description |
---|---|
CTRL+Q | Quitte l'éditeur et revient au menu principal d'Ultra Editor. C'est le seul moyen de sortir d'Ultra Editor, alors ne l'oubliez pas. |
CTRL+W | Bascule la largeur d'affichage entre les modes 40 et 80 colonnes. |
ENTER | Cette commande importante insère une ligne vide sous la ligne courante. Cela correspond à la méthode normale de saisie de texte dans la plupart des éditeurs. ENTER n'a aucun effet sur les données de la ligne courante, cela signifie que le curseur peut être positionné à n'importe quel endroit de la ligne (il n'a pas besoin d'être à la fin). |
CTRL+ENTER | Cette commande insère un retour chariot à la position actuelle du curseur, divisant ainsi la ligne en deux lignes. |
CTRL+; | Le contraire de CTRL+ENTER. Cette commande est utilisée pour ajouter la ligne suivante à la ligne courante. C'est la commande pouvant être utilisée pour joindre des lignes ensemble. |
CTRL+P | Imprimer une page. 55 lignes de texte, commençant en haut de l'écran (pas la position actuelle du curseur) seront imprimées sur l'imprimante. |
Les erreurs
Ultra Editor peut produire deux types d'erreurs. Tout d'abord, dans le menu principal, les erreurs seront signalées au format BASIC standard. Les seules erreurs rencontrées ici devraient être de la variété IO.
En mode éditeur, un certain nombre de messages d'erreur différents peuvent être rencontrés. Dans tous les cas, le message est affiché sur la ligne de commande/état. Appuyer sur n'importe quelle touche fera réapparaître la ligne d'état normale. Voici les erreurs possibles :
Message d'erreur | Description |
---|---|
BLOCK NOT DEFINED | Vous avez tenté d'exécuter une commande de bloc sans définir de bloc au préalable. Utilisez le CTRL+< et CTRL+> commandes pour définir un bloc. |
BLOCK TOO LARGE FOR COPY OR MOVE | Le bloc défini dépasse la capacité du tampon de transfert. Utilisez CTRL+S pour trouver la taille du bloc, puis réduisez la taille du bloc. |
ATTEMPT TO COPY OVER DEFINED BLOCK | Lors d'un déplacement ou d'une copie, le curseur se trouve dans le bloc défini. Vous ne pouvez pas copier/déplacer un bloc sur lui-même. |
OPERATION TOO LARGE FOR AVAILABLE MEMORY | Vous n'avez plus de mémoire. Cela peut se produire lorsque vous avez terminé de modifier une ligne et que vous avez tenté de passer à une autre ligne, ou lors d'un déplacement ou d'une copie de bloc. |
MARKER ALREADY EXISTS | Vous avez tenté d'insérer un deuxième marqueur de début ou de fin de bloc. Utilisez la commande JUMP pour trouver le premier et supprimez-le avec CTRL+K. |
CAN'T HAVE END BEFORE START | Une tentative a été faite pour placer un marqueur de bloc de départ après un marqueur de bloc de fin, ou un marqueur de bloc de fin avant un marqueur de bloc de départ. |
FAIL, NO MATCH FOUND | Le texte recherché pour une commande JUMP, CHANGE ou FIND n'a pas été trouvé. |
LINE NUMBER TOO HIGH | Le nombre saisi pour un JUMP est supérieur à la dernière ligne du tampon. |
UNABLE TO RESTORE LINE | En réponse à une commande UNKILL lorsqu'il n'y a pas de données dans le tampon. |
KEYBOARD ABORT | Chaque fois que CTRL+BREAK est pressé, cette erreur est générée. |
MACRO NESTING TOO DEEP | Les macros s'appelant elles-mêmes l'ont fait plus de 20 fois. |
LONG LINE SPLIT | Une ligne de plus de 128 caractères a été divisée en deux lignes plus courtes après modification. |
Apporter des modifications au pilote BASIC
La partie BASIC d'Ultra Editor peut être modifiée, si vous le souhaitez. Cependant, vous devez être très prudent car la majorité du programme a été compressée pour économiser de la mémoire. Quatre lignes ont été laissées en mode non compressé spécialement pour vos modifications :
- Ligne 10 - contient les commandes PALETTE pour définir les couleurs de premier plan et d'arrière-plan pour l'éditeur. Il est actuellement réglé sur blanc sur bleu.
- Ligne 20 - contient les commandes PALETTE pour définir les couleurs de premier plan et d'arrière-plan des lignes d'état dans l'éditeur. Le choix du bleu sur blanc a été utilisé car il contraste joliment avec l'écran d'édition.
- Ligne 30 - cette ligne n'est actuellement qu'une remarque. Il peut être utilisé pour définir le débit en bauds de l'imprimante,...
Il n'est pas recommandé d'essayer d'autres modifications d'Ultra Editor.
Quelques notes supplémentaires
- Saisie de texte au début du fichier : Puisque vous ne pouvez pas utiliser les touches fléchées pour déplacer le curseur devant la première ligne du tampon, comment insérer du texte devant la ligne 0 ? Positionnez le curseur au début du tampon et insérez un retour chariot au début de la ligne 0 avec CTRL+ENTER. Modifiez maintenant cette ligne vierge de la manière habituelle.
- Saisie de texte à la fin du fichier : Lors de la première entrée dans l'éditeur, le curseur se positionnera sur la marque 'FIN DE FICHIER'. Vous devez insérer une ligne vierge à éditer en appuyant sur ENTER avant de pouvoir saisir du texte.
- Numéros de ligne : Ultra Editor ne numérote pas les lignes dans ses tampons. Il maintient un nombre de lignes à afficher sur la ligne d'état et à utiliser par JUMP, mais les numéros de ligne ne sont pas enregistrés dans les fichiers texte.
- Fichiers : Tous les fichiers générés par Ultra Editor sont au format ASCII standard. Lors de l'enregistrement, les marqueurs de blocs de fichiers sont ignorés. Lors du chargement, les caractères inférieurs à un ESPACE ASCII (sauf pour les retours chariot) et supérieurs à ASCII 127 sont ignorés.
- Lignes longues : Ultra Editor permet la saisie de lignes d'une longueur maximale de 128 caractères. Il est cependant possible d'avoir des lignes dans le tampon plus longues. Cela peut être dû au fait que le fichier lu dans le tampon contenait de longues lignes ou qu'une commande CHANGE pouvait modifier le contenu d'une ligne de sorte qu'elle devienne plus longue que 128 caractères. Ces longues lignes seront enregistrées lors des Saves, les 128 premiers caractères seront affichés lors de la visualisation du texte, et les modifications apportées aux lignes environnantes n'affecteront pas ces longues lignes. Lorsque vous éditez une ligne de plus de 128 caractères, seuls les 128 premiers caractères seront transférés dans le tampon d'édition. Vos commandes d'édition n'affecteront que ces caractères. Lorsque vous insérez une ligne dans le tampon (ENTER, ↑ ↓, CTRL+J,...) un message 'long line split' apparaîtra sur la ligne d'état. L'écran sera également reformaté et le reste de la ligne sera affiché. Cette nouvelle ligne affichée peut encore contenir plus de 128 caractères.