Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

emacs [2017/08/25 09:56] (Version actuelle)
Ligne 1: Ligne 1:
 +===== Emacs =====
 +
 +(par Hervé Moulinec, LMA)
 +
 +Sous Emacs on fait beaucoup de frappes de:
 +
 +    * combinaisons Ctrl caractère (on presse en meme temps la touche CTRL (contrôle) et une autre touche).
 +
 +      Par la suite, cette frappe sera notée: C-touche
 +    * Exemple: C-a pour la frappe simultanée de la touche CTRL et de la touche a . combinaisons Alt caractère. Quand on ne dispose pas de la touche Alt sur le clavier utilisé, on peut obtenir le même résultat en frappant Escape puis la touche.
 +
 +      Par la suite, cette frappe sera notée: M-touche
 +      Exemple: M-w peut etre obtenu en appuyant en meme temps Alt et w, ou bien en frappant la touche Escape, puis en la relâchant, puis en frappant la touche w.
 +
 +
 + 
 +
 +Mode commande: Entrer les commandes en mode commande: M-x puis entrer au clavier la commande souhaitée.
 + 
 + 
 +
 +Les différents points suivants sont abordés dans ce document:
 +
 +==== Sauvegarde du fichier ====
 +
 +
 +^ Sauvegarder sans quitter l'éditeur: | C-x C-s | (save-buffer) |
 +^ Sauvegarde, avec confirmation, de tous les buffers récemment mis à jour | C-x s (save-some-buffers) |
 +^ Quitter l'éditeur (avec ou sans sauvegarde): (l'éditeur demande ensuite si l'on veut sauvegarder ou non l'édition) | C-x C-c  | (save-buffer-kill-emacs) ^
 +
 +==== Positionnement du curseur ====
 +Positionnement du curseur:
 +Déplacer en début de fichier: M-<  (beginning-of-buffer)
 +Déplacer en fin de fichier: M->  (end-of-buffer)
 +
 +Déplacer à la page précédente: M-v (scroll-down)
 +Déplacer à la page suivante: C-v (scroll-up)
 +
 +Déplacer à la ligne au dessus: C-p (previous-line)
 +Déplacer à la ligne en dessous: C-n (next-line)
 +
 +Déplacer en début de la ligne courante: C-a (beginning-of-line)
 +Déplacer à la fin de la ligne courante: C-e (end-of-line)
 +
 +Décaler à gauche: C-x<  (scroll-left)
 +Décaler à droite: C-x>  (scroll-right)
 +
 +Déplacer d'un caractère en avant: C-f (forward-char)
 +Déplacer d'un caractère en arrière: C-b (backward-char)
 +
 +Recentrer la page autour du curseur: C-l (recenter)
 +
 +Positionner le curseur à la ligne numéro ...: C-l (goto-line) ...
 +
 +Afficher le numéro de ligne en bas de page (ou le désafficher s'il était déjà affiché): C-l (line-number-mode)
 +
 +==== Destruction ====
 +Destruction:
 +Destruction du caractère sous le curseur: C-d (delete-char)
 +Destruction d'un mot: M-d (kill-word)
 +Destruction du caractère avant le curseur: Backspace
 +Destruction du curseur jusqu'à la fin de ligne: C-k (kill-line)
 +Destruction du curseur jusqu'à la fin de la phrase:
 +(remarque: on peut faire plusieurs C-k successifs qui remplissent le buffer de lignes detruites) M-k (kill-sentence)
 +Copier le contenu du buffer de destruction: C-y (yank)
 +
 + 
 +==== Couper/copier - coller ====
 +Couper/copier - coller:
 +positionner le debut de bloc: C-Space (set-mark-command)
 +positionner la fin de bloc: position courante du curseur
 +copier le bloc sélectionné: M-w (yank-pop)
 +couper le bloc sélectionné: C-w (kill-region)
 +coller le bloc coupé ou collé: C-y (yank)
 +Une fois qu'on a frappé C-y, si l'on veut remplacer par un ``copier'' ou ``détruire'' précédent, frapper (autant de fois que nécessaire): M-y
 +
 +couper un bloc rectangulaire: C-x r k (kill-rectangle)
 +copier un bloc rectangulaire: C-x r y (yank-rectangle)
 +
 +==== Recherche ====
 +Rechercher un mot depuis le curseur, vers la suite du fichier.
 +I-search s'affiche alors dans le mini-buffer, en bas de la page d'édition, on y rentre le mot recherché, le curseur se déplace au fur et à mesure que l'on rentre le mot vers les occurences du mot qui est constitué. Une fois, que le curseur est positionné sur la 1ère occurence du mot cherché, on peut continuer la recherche en tapant C-s, ou C-r si l'on veut faire une recherche vers le haut. C-s (isearch-forward)
 +
 +Rechercher un mot depuis le curseur vers le haut: C-r (isearch-backward)
 +
 +==== Substitutions de chaînes de caractères ====
 +Substitution avec confirmation:
 +On tape M-% puis RET puis la chaîne à modifier puis RET puis la nouvelle chaîne. A chaque apparition de l'ancienne chaîne, il est demandé une confirmation. On répond alors: y (oui) n (non) q (on arrête tout) ! (on modifie tout ce qu'il reste). M-% (query-replace)
 +Substitution sans confirmation: (replace-string)
 +
 +==== Annulation de commandes ====
 +Annulation de la dernière commande entrée: C-_ ou C-x u (undo)
 +Annulation de la commande en cours de frappe: C-g (keyboard-quit)
 +
 +==== Insertion de lignes ====
 +Insertion de lignes:
 +Insérer une nouvelle ligne: C-o (open-line)
 +Détruire toutes les lignes blanches sauf une, autour de là ou est le curseur: C-x C-o (delete-blank-lines)
 +
 +==== Fenêtres et buffers ====
 +Création d'un nouveau buffer contenant le fichier dont on spécifie le nom dans le ``minibuffer'': C-x C-f (find-file)
 +Changement de buffer vers le buffer d'édition du fichier dont on spécifie le nom dans le minibuffer (c'est la même commande que précédemment): C-x C-f (find-file)
 +Insertion d'un fichier (dont on spécifie le nom ds le minibuffer) dans le buffer courant, à l'emplacement du curseur: C-x i (insert-file)
 +Affichage d'une seule fenêtre sur l'écran: C-x 1 (delete-other-window)
 +Affichage de 2 fenêtres sur l'écran, l'une au dessus de l'autre: C-x 2 (split-window-vertically)
 +Affichage de 2 fenêtres sur l'écran, l'une a cote de l'autre: C-x 3 (split-window-horizontally)
 +Passage d'une fenêtre à l'autre: C-x 0 (other-wiindow)
 +Sauvegarde, avec confirmation, de tous les buffers récemment mis à jour C-x s (save-some-buffers)
 +
 +==== Help en ligne ====
 +Pour obtenir le menu des helps en ligne: On voit alors s'ouvrir une fenêtre dans laquelle sont proposés les différents helps. On peut accéder à ces helps en frappant une touche (a pour le ``a propos'', c pour la description d'une frappe abrégée, ...) C-h C-h (help-for-help)
 +Pour directement obtenir un help donné:
 +A propos C-h a (command-apropos)
 +listes de toutes les frappes abrégées C-h b (describe-bindings)
 +description rapide d'une frappe C-h c (describe-key-briefly)
 +description complète d'une frappe C-h k (describe-key)
 +description d'une fonction C-h f (describe-function)
 +le tutorial (utile pour les débutants) C-h t (help-with-tutorial)
 +etc... (voir le help sur le help)
 +
 +==== Divers ====
 +
 +Insertion de caractères spéciaux:
 +Par exemple, si l'on veut metter le caratère Ctrl-g dans le texte, on tapera: C-q C-g C-q caractères (quoted-insert)
 +Reformatte le paragraphe courant pour que chacune de ses lignes tiennent bien dans la page M-q (fill-paragraph)
 +Reformatte tous les paragraphes de la région sélectionnée (par exemple avec C-Space puis déplacement du curseur) (fill-region)
 +Indentation de tout le code à  partir de la position courante du pointeur M-C-\ (indent-region)
 +