diff --git a/unix/editeurs/super_emacs.html b/unix/editeurs/super_emacs.html new file mode 100644 index 0000000..67fbf29 --- /dev/null +++ b/unix/editeurs/super_emacs.html @@ -0,0 +1,490 @@ + + + +
+Cette page contient une collection d'astuces pour l'utilisateur +déjà rompu à GNU Emacs. Si vous êtes débutant et souhaitez vous +initier à Emacs, allez plutôt voir le tutorial de +tuteurs.
+ Vous connaissez déjà la commande M-/
qui permet de
+compléter un mot en cours de frappe (sinon, voir le tutorial. Dans le même genre, emacs gère les
+abréviations.
Le mode mineur « abbreviation » vous permet, +comme son nom l'indique, de définir des abréviations qu'emacs se +chargera de développer au cours de l'édition du fichier. Par exemple, +vous pouvez définir l'abréviation ENS qui se développera en +« École Normale supérieure. »
+Essayons un peu. Tapez M-x abbrev-mode
pour basculer
+dans le mode « abbreviation » (Cf. la mode line). Tapez ensuite l'abréviation de votre choix
+(pour des raisons évidentes, ne choisissez pas un mot existant). Si
+vous souhaitez des abréviations locales (limitées au mode dans lequel
+vous vous trouvez), tapez ensuite C-x ail
. Pour les
+abréviations globales (qui s'appliquent à tous les modes), c'est
+C-x aig
. Tapez ensuite la version développée, puis
+appuyez sur ENTER
. Dorénavant, dans cette session, à
+chaque fois que vous taperez « ENS », emacs
+développera en « École Normale supérieure. »
+Pour sortir du mode abréviation, tapez M-x
+kill-all-abbrevs
.
+
On peut s'en servir pour faire comme dans MS Word et définir une +liste de mots sur lesquels on fait tout le temps des coquilles. Genre +« teh » pour « the » ou « poru » pour « pour ». Il suffit de dire à +Emacs que ce sont des abréviations pour qu'il les remplace au vol par +le mot orthographié correctement.
+ Commençons par indiquer à emacs que l'on souhaite utiliser le mode
+abréviation par défaut, que l'on a un fichier d'abréviations qui
+s'appelle ~/.abrev
et que l'on souhaite sauvegarder ce
+fichier à chaque fois. D'abord, on crée le fichier
+.abrev
, vide pour l'instant.
clipper ~ $ touch .abrev
+
+ Puis on indique dans son .emacs
:
+(setq-default abbrev-mode t) +(read-abbrev-file "~/.abrev") +(setq save-abbrevs t) ++
Quittez puis remancez emacs tout seul, « Abbrev » figurera dans la
+mode line. Suivez la procédure décrite
+ci-dessus : on tape l'abréviation, puis C-x aig
ou
+C-x ail
, l'abréviation développée, puis
+Enter
. Répétez l'opération autant de fois que souhaité
+pour constituer votre liste d'abréviations. Ensuite, on sauvegarde
+cette liste : M-x write abbrev-file
puis
+Enter
. Emacs vous demande alors le nom de votre fichier,
+tapez donc ~/.abrev
puis Enter
.
+Par la suite, pour ajouter de nouvelles abréviations, contentez-vous +de les définir comme indiqué ci-dessus, emacs vous demandera si vous +voulez sauvegarder votre fichier d'abréviations. Il suffira de +répondre oui. +
+Pour effacer une abréviation, tapez M-x edit-abbrevs
+qui lance l'éditeur d'abréviations (pour simplement voir la liste,
+c'est M-x list-abbrevs
). Ladite liste ressemble à
+ceci :
+
+(global-abbrev-table) + +"gwb" 1 "George W. Bush" +"usa" 1 "États-Unis" +"poru 1 "pour" ++
+Entre parenthèses, emacs vous dit qu'il s'agit d'abréviations globales
+(si elles avaient été locales, vous auriez vu
+(text-mode-abbrev-table)
, ou
+(fundamental-mode-abbrev-table)
, etc.). La colonne de
+gauche affiche les abréviations proprement dites, la seconde colonne
+est la cuisine interne d'emacs, la colonne de droite contient les
+abréviations développées. Pour effacer une abréviation, utiliser une
+commande standard pour effacer la ligne en question, C-k
+par exemple, puis sauvegardez.
+
Vous connaissez les bookmarks (alias « signets » pour Netscape ou +« favoris » pour Internet Explorer) dans un navigateur. Eh bien dans +emacs, il y en a aussi. Ils jouent très exactement le rôle de +marque-pages : vous pouvez ainsi retrouver exactement l'endroit +où vous en étiez d'une session à l'autre. +
+Commande | +Commande complète | +Action | +
---|---|---|
C-x r m Enter |
+ _ | +Pose un bookmark à +l'endroit où se trouve le point | +
C-x r m <nom> Enter |
+ M-x +bookmark-set | +Pose un bookmark et lui donne un nom | +
_ | +M-x bookmark-delete <nom> | +Détruit le bookmark <nom> | +
C-x r b <nom> | +M-x bookmark-jump | +Aller au +bookmark <nom> | +
C-x r l | +M-x bookmark-list | +Lister tous les bookmarks | +
_ | +M-x bookmark-file | +Sauve les bookmarks | +
+Emacs vous permet d'agir sur vos répertoires : regarder le
+contenu d'un répertoire, effacer des fichiers, les renommer, les
+copier, etc. Bref, tout ce que vous faites d'ordinaire avec les
+commandes cp
, rm
ou encore mv
+sous UNIX. Tout cela, grâce à Dired (DIRectory EDitor)...
+
+Commençons par demander à Emacs de lire un répertoire. Par exemple, le
+répertoire armoire/
de tuteurs.
+
clipper ~ $ emacs ~tuteurs/armoire
+
+
+On obtient alors le résultat suivant, similaire à ce que vous aurait
+donné un ls -la
sur le même répertoire :
+
+ /users/staffs/tuteurs/armoire: + used 8 available 222601 + drwxr-xr-x 3 tuteurs 512 Jan 8 02:30 . + drwxr-xr-x 30 tuteurs 2560 Apr 1 20:06 .. + drwxr-xr-x 2 tuteurs 512 Jan 8 02:32 affiche + -rw-r--r-- 1 tuteurs 1334 Oct 14 2002 inventaire.txt + -rw-r--r-- 1 tuteurs 954 Nov 14 11:24 livres.txt ++
Vous pouvez vous déplacer dans Dired à l'aide de la touche
+n
, de la barre d'espace ou encore de
+C-n
. Pour éditer un fichier, appuyez sur
+e
. Pour simplement jeter un coup d'œil au fichier,
+v
demande à emacs d'afficher le fichier dans un buffer en
+lecture seule appelé « View ». On quitte ce buffer avec un simple
+q
.
+
+Autre remarque : si vous modifiez le contenu de votre directoire
+en dehors de Dired (par exemple, en suspendant emacs pour revenir au
+shell), il faudra relancer Dired pour prendre en compte les
+modifications du disque (C-x C-f <répertoire>
).
+
Le mécanisme est identique que celui pour effacer un buffer dans la
+liste des buffers (C-x C-b
). Placez votre curseur sur la
+bonne ligne puis tapez sur d
. Un « D » apparaît alors sur
+la ligne, tout à gauche :
+ /users/staffs/tuteurs/armoire: + used 8 available 222601 + drwxr-xr-x 3 tuteurs 512 Jan 8 02:30 . + drwxr-xr-x 30 tuteurs 2560 Apr 1 20:06 .. +D drwxr-xr-x 2 tuteurs 512 Jan 8 02:32 affiche + -rw-r--r-- 1 tuteurs 1334 Oct 14 2002 inventaire.txt +D -rw-r--r-- 1 tuteurs 954 Nov 14 11:24 livres.txt ++
+Pour aller plus rapidement, #
marque comme à effacer tous
+les fichiers d'auto-save (ceux dont le nom commence et finit par des
+#, précisément) et ~
, tous les fichiers de backup (dont
+le nom finit en ~). Pour enlever la marque d'effacement d'un fichier,
+appuyez sur u
(comme « undelete »).
+
+Quand vous avez fini, et que vous souhaitez vraiment détruire les
+fichiers, tapez x
. Emacs vous demandera de confirmer la
+destruction des fichiers marqués.
+
Pour copier, tapez c
(ou M-x
+dired-do-copy
) sur le fichier à copier. Emacs vous demande
+alors le nom du nouveau fichier. Pour renommer, même principe en
+tapant r
(ou M-x dired-do-move
).
Dired vous permet de faire quasiment toutes les opérations sur +fichier ou répertoire que les commandes UNIX standard. Le tableau +suivant récapitule des points déjà expliqués et vous présente d'autres +possibilités.
+Commande | +Nom complet | +Action | +Équivalent UNIX | +
---|---|---|---|
e | +_ | +Éditer le fichier | +emacs | +
r | +M-x dired-do-rename | +Renommer le +fichier | +cp | +
c | +M-x dired-do-copy | +Renommer le +fichier | +mv | +
d | +M-x dired-do-delete | +Marquer pour +l'effacement | +rm | +
~ | +_ | +Marquer pour l'effacement tous les fichiers de +backup | +rm *~ | +
# | +_ | +Marquer pour l'effacement tous les fichiers +d'autosave | +rm *# | +
u | +_ | +Enlever la marque d'effacement | +_ | +
M | +M-x dired-do-chmod | +Changer les droits +d'accès | +chmod | +
G | +M-x dired-do-chgrp | +Changer le +groupe | +chgrp | +
O | +M-x dired-do-chown | +Changer le propriétaire du +fichier | +chown | +
S | +M-x dired-do-symlink | +Faire un lien +symbolique | +ln -s | +
H | +M-x dired-do-hardlink | +Faire un lien +dur | +ln | +
Z | +M-x dired-do-compress | +Compresse un fichier (avec +gunzip) | +gzip | +
Vous pouvez également lire des pages de man direcetement dans
+emacs, grâce à la commande M-x man
. Appuyez sur
+Enter
, puis emacs vous demandera quelle page de man vous
+souhaitez lire. Par défaut, il s'agit du mot sur lequel est placé
+votre curseur. Vous pouvez également spécifier la section dans
+laquelle se trouve la page recherchée. Par exemple, vous recherchez la
+page de man du test, célèbre distraction normalienne, qui se trouve
+dans la section I :
+Manual entry: test I ++
+Ce qui vous donne : +
++Misc. Manual Pages TEST(I) + +NAME + test - distraction normalienne + +DESCRIPTION + Le test est une distraction spécifiquement normalienne. Le + test consiste à dire ou faire quelque chose avec l'intention + de tirer de son interlocuteur une réaction précise. Si + cette réaction se produit effectivement, on dira « test », +--11:%%-F1 *Man test I* { page 1 of 1} (Man)--L1--Top--------------------- ++
Il est plus facile de lire une page de man dans emacs qu'en
+invoquant la commande man
dans le shell. Seul
+inconvénient : vous ne pouvez pas interrompre emacs pendant qu'il
+est en train de mouliner à la recherche de la page de man demandée,
+pas même avec C-g
...
+Non, je rigole...
+ +