diff --git a/unix/editeurs/emacs_memo.tml b/unix/editeurs/emacs_memo.tml index ef70c06..800fd68 100644 --- a/unix/editeurs/emacs_memo.tml +++ b/unix/editeurs/emacs_memo.tml @@ -360,7 +360,7 @@ shell dans le buffer courant M-|M-x shell-command-on-regionExécute une commande sur la région sélectionnée -_M-x shellLance un terminal +_M-x shellLance un shell dans terminal rudimentaire (sans séquences d'échappement) _M-x termLance un terminal plus élaboré diff --git a/unix/editeurs/super_emacs.tml b/unix/editeurs/super_emacs.tml new file mode 100644 index 0000000..2fa9eea --- /dev/null +++ b/unix/editeurs/super_emacs.tml @@ -0,0 +1,346 @@ + + + + + Emacs avancé + + + +

Aller plus loin avec GNU Emacs

+ +

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.

+ +

Abréviations

+ +

Principe

+ +

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. +

+ +

Correction d'orthographe à la volée

+ +

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. +

+ +
Attention, n'essayez pas d'ajouter à la main de +nouvelles lignes à la liste. Effacer est la seule opération sûre. +
+ +

Bookmarks

+ +

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. +

+ + + + + + + + + + + + + + + +
CommandeCommande complèteAction
C-x r m Enter_Pose un bookmark à +l'endroit où se trouve le point
C-x r m <nom> EnterM-x +bookmark-setPose 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-jumpAller au +bookmark <nom>
C-x r lM-x bookmark-listLister tous les bookmarks
_M-x bookmark-fileSauve les bookmarks
+ +

Histoires de répertoires (Dired)

+ +

+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. +

+ +
Avant toutes choses, attention : dans +Dired, vous travaillez directement sur vos fichiers, pas par +l'intermédiaire d'un buffer. Quand vous effacez un fichier, c'est +définitif. +
+ +

+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>). +

+ +

Effacer un fichier

+ +

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. +

+ +

Copier et renommer

+ +

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).

+ +

Récapitulons

+ +

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CommandeNom completActionÉquivalent UNIX
e_Éditer le fichieremacs
rM-x dired-do-renameRenommer le +fichiercp
cM-x dired-do-copyRenommer le +fichiermv
dM-x dired-do-deleteMarquer pour +l'effacementrm
~_Marquer pour l'effacement tous les fichiers de +backuprm *~
#_Marquer pour l'effacement tous les fichiers +d'autosaverm *#
u_Enlever la marque d'effacement_
MM-x dired-do-chmodChanger les droits +d'accèschmod
GM-x dired-do-chgrpChanger le +groupechgrp
OM-x dired-do-chownChanger le propriétaire du +fichierchown
SM-x dired-do-symlinkFaire un lien +symboliqueln -s
HM-x dired-do-hardlinkFaire un lien +durln
ZM-x dired-do-compressCompresse un fichier (avec +gunzip)gzip
+ + +

Lire les pages de man

+ +

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...

+ +

Emacs comme shell de login

+ +

+Non, je rigole...

+ +
Auteur : Marie-Lan Nguyen. Dernière +modification : 2003-04-29 +
+ + + \ No newline at end of file