Next Previous Contents

4. Divers

4.1 Mode tar et décompression à la volée

A faire...

4.2 Et pour écouter des CD audios ?

Il est possible d'écouter des CD audios en utilisant le programme workbone, qui peut-être interfacé avec Emacs par le biais d'un petit programme Emacs-Lisp disponible sur http://inferno.cs.univ-paris8.fr/~drieu/hacks/workbone.el. Cette interface s'exécute par le biais de la fonction workbone (M-x workbone).

Les commandes sont :

4.3 Puis-je manipuler les répertoires à la Midnight/Norton commander ?

Norton commander est un logiciel sous DOS permettant de remplacer à peu près un shell. Midnight Commander est un équivalent libre sous Unix de ce logiciel propriétaire. La plupart des opérations offertes par MC sont des opérations de manipulation de fichiers ou de répertoires.

Emacs permet d'effectuer ce type d'opérations par le biais du mode dired. Dired recense tous les fichiers d'un répertoire dans un buffer, et permet d'appliquer des opérations à chacun d'entre eux. La plupart des commandes du mode text sont disponibles dans ce buffer, plus des commandes propres au mode dired.

Appel de dired

Dired est invoqué par :

Marques

Les opérations sur les fichiers du mode dired se font soit sur le fichier courant (celui sur lequel est le point), soit sur un groupe de fichiers (ce qui nécessite de pouvoir marquer les fichiers sur lesquels les commandes vont agir).

Différentes commandes du mode dired permettent d'effectuer ce marquage :

D'autres marques existent (fichier copié, fichier renommé, ...), et la plus utile à manipuler est la marque à effacer :

Déplacement

Manipulation des fichiers

L'intérêt du mode dired est d'appliquer des commandes aux fichiers, dont la plupart peuvent remplacer avantageusement les commandes rentrées sous un shell. Toutes les commandes suivantes s'appliquent soit sur le fichier courant (sous le point) si aucun fichier n'est marqué, soit sur tous les fichiers marqués.

Commandes diverses

4.4 Est-ce qu'il existe un agenda ?

Calendar

Calendar est une interface permettant de manipuler un calendrier. Elle permet d'afficher un calendrier de trois mois dans un buffer, avec le point sur la date courante.

Parmi les actions possibles :

Le point désigne un jour, et l'utilisateur peut le déplacer à travers le temps par le biais de plusieurs commandes :

Vacances

Diary

Diary est une interface permettant de gérer un agenda sous Emacs. Il s'utilise de concert avec Calendar qui permet d'insérer des entrées dans l'agenda pour des jours précis.

Le principe est qu'un fichier (dont le nom est renseigné par la variable diary-file) contient des entrées dans un format qui lui est propre (documenté dans le manuel Emacs). Des commandes permettent d'insérer des entrées dans l'agenda au format Diary à partir du buffer *Calendar*.

Parmi celles-ci :

4.5 Comment imprimer un document texte ?

Sous la plupart des systèmes UNIX, la manière la plus simple d'imprimer un document est d'utiliser le PostScript. Emacs permet de formater des documents texte en PostScript, et éventuellement de les imprimer directement.

L'utilisation de quatre commandes permet d'effectuer cette impression :

Il est possible de paramétrer la commande utilisée pour imprimer le fichier PostScript ainsi que les options passées à cette commande par l'intermédiaire des variables lpr-command (commande exécutée) et lpr-switches (liste de paramètres passés à cette commande). Par exemple, (set-variable 'lpr-switches '("-Pche")) (mon imprimante s'appelle che)

4.6 Il y a des jeux ?

Doctor

Doctor (M-x doctor) est un petit programme qui implémente le fameux robot eliza. Il s'agit d'une simulation de personne vivante : l'utilisateur pose des questions en langue naturelle au programme, et celui-ci lui répond par des phrases construites. Plus précisément, le but de Doctor est de simuler une consultation psychothérapique traditionnelle. Notons que la version actuelle de Doctor a été censurée par Richard Stallman lui-même en raison du côté "indécent" du code source (voir http://www.april.org/groupes/gnufr/censoring-emacs.html).

Getris

Mais oui, Tetris a été porté sous Emacs !

A faire...

BlackBox

BlackBox (M-x blackbox) est un jeu très simple. Le principe est de trouver des atomes cachés dans un boite noire en y envoyant des rayons lasers.

Lorsqu'un rayon touche un atome, il est absorbé par celui-ci. Lorsqu'il arrive à la diagonale d'un atome, il est dévié de 90 degrés de manière à s'éloigner de celui-ci. Par exemple :

                     O
                      +------->
         O            |
 -------+       ------+
        |              O
        |
        v

Lorsque le jeu commence, une grille vide apparaît. Le but du jeu est de déplacer le curseur autour de la grille avec les flèches, et d'appuyer sur la barre d'espacement pour lancer un rayon laser. Un numéro apparaît, qui permet d'identifier le rayon. Si le rayon n'est pas absorbé, alors il est repéré par le même numéro en sortie. Si le rayon est absorbé, alors la lettre H (hit) est affichée à la place. Si par hasard le rayon sort au même endroit d'où il est parti, alors la lettre R (reflected) est affichée à la place.

Quand le joueur pense avoir deviné où se trouve un atome, alors il place le curseur sur la grille, et appuie sur la barre d'espacement pour placer un atome. Quand il a placé tous les atomes, il appuie sur la touche RET afin de valider, ce qui lui permet de voir la position réelle des atomes.

4.7 Dessiner en ASCII

Emacs offre deux modes pratiques pour le dessin ASCII.

le mode picture

A faire...

le mode artist

A faire...

4.8 Comment vérifier l'orthographe d'un texte ?

Ispell

Un des correcteurs orthographiques les plus populaires sous UNIX est ispell. Emacs intègre logiquement une interface permettant de le manipuler sur un buffer.

Le principe est qu'Emacs lance un processus ispell, et ensuite qu'il lui envoie des données texte à partir du buffer. A chaque mot incorrect, Emacs propose un choix parmi plusieurs possibilités par l'intermédiaire d'un autre buffer. Il est possible de lancer un processus ispell sur plusieurs parties d'un buffer :

Pour répondre aux besoins de dictionnaires en plusieurs langues, ispell peut passer d'un dictionnaire à un autre, par le biais de la fonction ispell-change-dictionnary. L'utilisateur saisit un dictionnaire, et ensuite toute correction se fera dans cette langue (à condition que le dictionnaire soit installé sur le système).

Flyspell

Flyspell est une interface supplémentaire à ispell, qui permet d'utiliser ispell ``à la volée'' sur un texte, et de mettre en évidence un mot mal orthographié dès sa saisie.

Flyspell est un mode mineur. Il suffit donc de passer en mode flyspell (M-x flyspell-mode en considérant que flyspell est correctement installé) pour l'utiliser.

A chaque mot incorrectement orthographié, l'utilisateur a le choix entre utiliser les raccourcis d'ispell, et utiliser un menu contextuel invoqué par un clic avec le bouton du milieu de la souris. Ce menu propose un ensemble de mots corrects, ou propose à l'utilisateur de sauvegarder le mot dans le dictionnaire.

Flyspell est disponible sur http://kaolin.unice.fr/~serrano/emacs/emacs.html, mais est intégré aux nouvelles versions d'Emacs.

4.9 Comment on lance vi ?

Comme chacun le sait, la rivalité Emacs/vi fait rage.

Des développeurs Emacs on cependant essayé de trancher en proposant un mode dans lequel les raccourcis clavier sont ceux de vi, mais qui permet de profiter de toutes les facilités d'Emacs. Ce mode est le mode viper (Viper Is a Package for Emacs Rebels).

Il est exécuté par M-x viper-mode, qui bascule alors en mode viper. Lorsqu'il est exécuté pour la première fois, ce mode affiche une page d'aide qui explique entre autres comment quitter ce mode.

L'utilisateur a ensuite le choix entre plusieurs niveaux d'utilisation (entre beginner et wizard), qui déterminent jusqu'à quelle profondeur vi sera émulé. Par exemple, aux niveaux les plus hauts, le raccourci :wq quittera Emacs et les touches d'Emacs seront remplacées par celles de vi.

M-x viper-go-away permet heureusement de quitter ce mode, et de revenir à un Emacs normal à tout moment.


Next Previous Contents