Voici Les Principales Commandes de DME: ----------------------------------------- Envoi au Debut du texte : Shift + Touche de curseur vers le haut. Envoi en fin du texte : Shift + Touche de curseur vers le bas. Saut de pages vers le haut: Ctrl + Touche de curseur vers le haut Saut de pages vers le bas: Ctrl + Touche de curseur vers le bas Saut de lignes vers le Haut Alt + Touche de curseur vers le haut Saut de lignes vers le bas Alt + Touche de curseur vers le bas. Voici la fonctionalité des Touches de Fonctions: -------------------------------------------------- F1 Pour definir le début et la fin d'un block Shift-F1 Pour inserer un fichier de votre choix F2 Pour copier le block a la position du curseur F3 Nouveau fichier de votre choix dans une nouvelle fenetre. F4 Sauvegarde du texte en Ram:cc et quitte la fenetre en cours. F5 Macro qui permet de dupliquer la ligne en cours F6 Edite le fichier de configuration en cours. (S:.edrc) Shift F6 édite un exemple de fichier de configuration hyper-sophistiqué. F7 Nouveau fichier de votre choix (efface le texte en cours) F8 Quitte simplement la fenetre en cours sans aucune sauvegarde. F9 Sauvegarde simple du texte sans quitter l'editeur. F10 Sauvegarde le texte et quitte l'éditeur. Autres Combinaisons de Touches: Ctrl Q Pour Quitter le texte vous devrez taper cette combinaison 2 Fois de suite si le texte a été aupréalablement modifié et que vous voulez vraiment le quitter sans le sauvegarder. (Sécurité oblige) Idem pour la touche de fonction F8 qui permet aussi de quitter sans sauvegarde. avant de quitter, DME vous avertira si le texte à été modifié ou pas. Ctrl Del : éfface la fin de la ligne en cours Shift Del : éfface toute la ligne en cours Ctrl s : Coupe la ligne à la position du curseur Ctrl j : Reunie la ligne en cours à la suivante. Ctrl b : Pour définir le début d'un block. Lorsque vous aurez positionné le curseur à la fin du block que vous voulez définir répétez encore une fois le combinaison Ctrl-b Ctrl u :Supprime votre définition du block. Utile pour en définir un autre ailleurs dans le texte. Ctrl g :Vous demandera le numéro de ligne qui vous intéresse. Esc :appelle la ligne de commandes. Sous cette ligne de commandes vous aurez la possibilité d'appeler d'autres commandes ou de définir d'autres macro. Voici par ordre alphabétique la totalité des commandes de DME: ---------------------------------------------------------------- back backtab bcopy bdelete block bmove bottom bs bsave bsource chfilename del deline down downadd esc escimm execute find findr findstr first firstnb goto height iconify if ifelse insertmode insfile insline join last left leftedge map margin newfile newwindow next nextr pagedown pageset pageup prev prevr quit reformat remeol repeat repstr resettoggle resize return right saveas savemap saveold savesmap savetabs screenbottom screentop scrollup scrolldown settoggle source split tab tabstop tlate toggle tomouse top topedge unblock unmap up while width wleft wordwrap wright Voici l'explication de ces diverses instructions classées par fonction: ----------------------------------------------------------------------- D'abord celles qui permettent de déplacer le curseur: - bottom pour mettre le curseur en fin de texte. - down pour descendre le curseur verticalement d'une ligne. - downadd idem que down mais rajoute une ligne si on est en fin de texte - first met le curseur en debut de ligne. - firstnb met le curseur au debut du premier mot de la ligne en cours - last met le curseur en fin de ligne. - left deplace le curseur d'un caractere à gauche. - right deplace le curseur d'un caractere à droite. - screenbottom deplace le curseur au bas de la fenetre en cours. - screentop deplace le curseur au sommet de la fenetre en cours. - tomouse place le curseur là ou se trouve la flèche de la souris. - up deplace le curseur verticalement d'une ligne vers le haut. - top met le curseur au tout début du texte. - wleft met le curseur au début du mot précedent dans le texte - wright met le curseur au début du mot suivant dans le texte Ensuite les instructions qui effacent ou modifient les lignes: - back efface le caractère précédent le curseur (Retour arriere du clavier) - bs idem que back ( bs = back-space ) - del efface le carractère ou se trouve le curseur ( Del du clavier ) - deline efface la ligne en cours - insline insere une ligne - join join la ligne courante avec la suivante - remeol efface tout de la position du curseur jusqu'a la fin de la ligne - return va en début de ligne suivante - split contraire de join: pour separer une ligne en deux parties Les instructions pour la manipulation des blocks: - bcopy copy le block à partir de la position du curseur - bdelete efface le block au préalablement défini - block permet de définir un block analogue à "crtl-b" par le clavier - bmove pour déplacer le block aupréalablement défini - bsave sauve le block dans le fichier de votre choix - unblock pour abandonner la definition du block en cours. (ctrl-u) Les instructions pour la tabulation et le formatage: - tab insère une tabulation - backtab tabulation arrière - tabstop # définie une tabulation avec un nombre # d'espaces. - margin # définie la marge de droite à la colone de numéro #. - reformat formate le texte en fonction de la marge qui a été définie - wordwrap on/off autorise ou non la coupe des mots lors du formatage. Les instructions de recherche: - find NOM recherche la chaine de caractere "NOM" à partir de la position du curseur jusqu'à la fin du texte. - findr NOM1 NOM2 trouve et remplace NOM1 par NOM2 - findstr NOM Idem que find mais attend un "next" pour lancer la recherche. - next poursuit la recherche pour le meme NOM - nextr continue de remplacer NOM1 par NOM2 dejà défini dans "findr" - prev continue la recherche mais en remontant dans le texte. - prevr continue de remplacer NOM1 par NOM2 en remontant dans le texte. - repstr NOM2 pour rédéfinir la chaine "NOM2" de remplacement. Les instructions de défilement du texte: - goto # envoi a la ligne de numero # - pageup envoi en page suivante - pagedown envoi en page precedante - pageset # règle la longueur des pages en # % par rapport au nombres de lignes totales que peut contenir la fenetre en cours. - scrollup fait défiler le texte d'une ligne vers le haut - scrolldown fait défiler le texte d'une ligne vers le bas Rapel ces deux dernieres fonctions sont disponibles au clavier en faisant: Alt + Touche du curseur vers le haut (pour Scrollup) Alt + Touche du curseur vers le bas (pour scrolldown) Les instructions d'entres-sorties - chfilename NOM pour renomer le texte courant - insfile NOM pour inserer le fichier "NOM" - newfile NOM pour editer le fichier "NOM" en supprimant l'actuel. - newwindow pour ouvrir une autre fenetre - saveas NOM sauvegarde le texte actuel dans le fichier "NOM" - saveold sauvegarde du texte sous son nom actuel de fichier. - savetabs on/off definie le mode de sauvegarde soit (option on) les espaces seront remplaces par des tabulations (pour réduire les fichiers) soit la sauvegarde s'effectuera en mode normal (option off par défaut) - quit quitter le texte. (Idem que ctrl-q ou que la touche F8) Les instructions pour la gestion des fenetres: - height N Definie la hauteur des fenetre en pixels. - width N Definie la largeurs des fenetres en pixels - resize C# L# Définie le nombre maxi de Colones-Lignes de la fenetre - lefedge N Pour cadrer le bord gauche des fenètres à N pixels de l'écran - topedge N Pour cadrer le haut des fenetres à N pixels de l'écran. - iconifie pour iconifier la fenetre en cours. Noter que l'on peut aussi iconifier en cliquant une fois avec le bouton gauche de la souris puis ensuite avec le droit. Idem pour reouvrir toute fenetre qui a été iconifie. Les instructions spéciales: - esc appelle simplement la ligne de commande en mode manuel - escimm `C' appelle la ligne de commande avec ajout de la chaine `C' - execute pour lancer une commande Amigados (comme list par ex) - tlate # insere le caractere de code ascii # - source NOM pour charger les configuration contenue dans le fichier NOM - bsource charge les configurations contenues dans le block courant. - insertmode on/off passe en mode "insert" ou en mode normal. - map `T' `C' permet de definir une macro `C' est la (ou les commandes) définissant la macro qui s'appliqueront à la touche `T' Ne pas oublier les ` et ' pour separer la Touche des Commandes. De plus on peut écrire du texte en l'entrant aussi par ` et ' exemple: map `f1' ``texte'' Il faut donc des doubles apostrophes pour entrer du texte. - unmap pour suprimer une macro définie par 'map' - savemap sauvegarde les macros qui viennent d'etre définies - savesmap sauvegarde TOUTES les macros y compris celles par défauts. - toggle # change l'état du 'toggle' (drapeau à 2 états) de numero # - settoggle # fixe l'état du 'toggle' de numero # (256 toggle possible) - resettoggle éfface l'état du toggle # (contraire de settoggle) - repeat # C répète une Commande un nombre # de fois Voici maintenant les codes des diverses touches pour utiliser avec "map": f1 .... f10 touches de fonction (en minuscules) pour les diverses combinaisons des touches de fonctions avec shift control ou alt il faut rajouter les préfixes resperctifs: s- c- ou a- exemple: `a-f1' correspondra à la combinaison alt-F1 on peut aussi combiner avec les touches Amiga par le préfixe: A- les touches du pavé numérique sont accessible par le prefixe nk exemple nk2 pour la touche 2 que l'on peut meme combiner avec shift par s-nk2 exemple: map `s-nk2' `first' d'ailleurs meme les boutons de la souris ont aussi leurs codes: lmb pour "leftmouseboutton" le bouton de gauche, lmb pour celui de droite De plus il peuvent aussi servir de préfixe pour cela utiliser les lettres L pour le bouton gauche et R pour le droit. exemples : map `L-x' `first' evoie en debut de ligne si la bouton gauche de la souris est tenu enfoncé tandis que la touche x est frapper. ou encore: map `R-rmb' `scrollup' fera défiler le texte vers le haut à chaque préssion sur le bouton de droite de la souris Bien sur tout peut etre combiner avec shift,ctrl, alt, Amiga pour vous permettre de réaliser des macros des plus subtiles. Enfin les instructions conditionelles: "if" "ifelse" et "while" elles interviennent dans la réalisations de macros très complexes en permettant de faire des boucles et de tester diverses variables. Syntaxe d'utilisation: if condition argument ifelse condition argument1 argument2 while condition argument Pour if l'argument (qui est constitue d'une ou plusieur commandes) sera executé si la "condition" est vraie Pour ifelse l'argument 1 est executé si la condition est vrai sinon c'est l'argument 2 qui sera executé Pour while l'argument sera executé jusqu'à ce que la condition soit fausse. La "condition" est un des mots clés suivant: # vrai losque le "toggle" de numéro # est fixé par settoggle t vrai losque le curseur est sur la ligne numéro 1 b vrai si le curseur est sur la dernière ligne l vrai si le curseur est à la colone 0 r vrai si le curseur est en fin de ligne m vrai si le texte a été modifié x># x=# x<# vrai si la position de colone est > = ou < que le nombre # y># y=# y<# vrai si le numéro de ligne est > = ou < que le nombre # c># c=# c<# vrai si le caractère sous le curseur a son code Ascii > = ou < au nombre #. Notez que l'on peut combiner ">" ou "<" avec "=". cl vrai si le caractère sous le curseur est en minuscule cu vrai si le caractère sous le curseur est en majuscule ca vrai si le caractère sous le curseur est alphanumérique cn vrai si le caractère sous le curseur est numérique cb vrai si le curseur est à l'interieur d'un block. De plus on peut très simplement inverser la véracité d'une condition en mettant le préfixe "!" devant exemple: !t sera vrai si le curseur n'est pas en ligne 1 Vous etes desormais en mesure de fabriquer des macros hyper-sophistiques Vous en trouverez quelques exemples en éditant le fichier s:edrc ou encore en faisant la combinaison Alt-F6 -----------------------------