Les fonctions de tri

Pour des applications particulières XEmacs offre des outils de tri. Ainsi trier une liste de références bibliographiques, un indexe ou encore un glossaire ne pose pas de problème particulier. Afin de pouvoir appliquer les fonctions de tri, XEmacs divise le texte en champs. Chaque champ est composé d'un mot et le séparateur de champs correspond au caractère d'espacement. Les champs de caractères sont triés alphabétiquement en ordre croissant par défaut, ou en ordre décroissant si la fonction a été préfixée avec <C-u 1> par exemple. Les champs numériques sont triés en respectant l'ordre numérique. En accord avec le code ASCII, les majuscules apparaissent avant les minuscules dans l'ordre croissant.


Tableau 1.13: Commandes de tri
M-x sort-lines trier les lignes du bloc sélectionné
  en ordre croissant.
C-u 1 M-x sort-lines idem en ordre décroissant.
M-x sort-paragraphs diviser le bloc actif en paragraphes
  et les trier en ordre croissant.
C-u 1 M-x sort-paragraphs idem en ordre décroissant.
M-x sort-pages diviser le bloc actif en pages et les trier
  en ordre croissant.
C-u 1 M-x sort-pages idem en ordre décroissant.
C-u <num> M-x sort-fields diviser le bloc actif en lignes et trier en
  fonction du champ spécifié par C-u <num>.
M-x sort-numeric-fields trier numériquement le champ spécifié
  par C-u <num> converti en nombre.
M-x sort-columns identique à M-x sort-fields
  mais utilise la définition de colonne..


Allez dans la fenêtre de votre Buffer test.txt et sélectionnez toutes les lignes avec la souris. Sélectionner l'entrée Couper dans le menu Édition. Le Buffer doit être vide. Entrez à présent les lignes suivantes:

demain aujourd'hui hier toujours éternel
rêve cauchemard fantasme souhait désir

Recopiez ce bloc à la suite en laissant au moins une ligne vide.
Positionnez votre souris sur le premier caractère de ``hier'' et sélectionnez le bloc jusqu'à la fin du mot ``fantasme''. Entrez la commande <M-x> puis sur la ligne de dialogue sort-columns. L'ordre des lignes n'est pas modifié car le caractère ``h'' est sur la colonne 19 et le caractère correspondant sur la ligne inférieure est ``t''. Maintenant redéfinissez ce bloc en commençant au caractère ``i'' du mot ``aujourd'hui'' et exécutez la même commande. Maintenant les deux lignes sont permutées car le caractère ``i'' de la colonne 17 vient après le ``a'' du mot ``fantasme''. Vous pouvez tester toutes ces fonctions afin de mieux saisir leur mode d'action.

GnuLinux user doblan@club-internet.fr
2001-06-07