ADD emacs-les-bases.org

This commit is contained in:
Alexandre LUCAZEAU 2024-03-28 20:04:03 +01:00
parent c2c20f3fd9
commit b957e32543
1 changed files with 89 additions and 0 deletions

89
emacs-les-bases.org Normal file
View File

@ -0,0 +1,89 @@
* Emacs, les bases
Cette page est basée sur
[[https://www.tecmint.com/emacs-text-editor/][cette page]]
*emacs* se lance soit en mode gui, soit console. J'utilise les deux,
peut importe, seul le contexte détermine mon choix.
En mode console, si *emacs* est configuré pour fonctionner en tant que
service, on peux utiliser la commande suivante : ~emacsclient -nw~
Lorsqu'une fenetre s'affiche, sous *emacs* on appel ça une *frame*. La
*frame* est donc le contenant de plus haut niveau.
Dans une *frame* on va retrouver une *windows* qui va contenir un *buffer*.
On utilise rarement les fenêtres (page de documentation par exemple).
Quand on édite un fichier, celui-ci est donc dans un *buffer*. Il y a
autant de buffers actifs qu'il y a de fichiers ouverts.
En bas de fenêtre, on va retrouver une barre de status, classique, et
un *mini buffer* qui là aussi affiche quelques messages.
Dans la suite de cet article, je vais présenter ce qui m'a été utile
et souvent manqué. Il existe parfois (souvent) d'autres raccourcis
pour réaliser les opérations. J'ai choisi de limiter l'information
afin de faciliter sa mémorisation.
* Les opérations de base
- ~C-h C-h~ : affiche l'aide intégrée
- ~C-x fleche droite~ : passe au buffer suivant
- ~C-x fleche gauche~ : passe au buffer précédent
- ~C-x f~ : charge un fichier dans un nouveau buffer
- ~C-x C-s~ : sauvegarde les modifications dans le fichier
- ~C-x s~ : sauvegarde les modification dans tous les fichiers ouverts
- ~C-x k~ : ferme le buffer actif
- ~C-g~ : annule la séquence de raccourcis clavier. Trèèèès utile.
* Couper, copier, coller, annuler
- ~M-w~ : copier
- ~C-w~ : couper
- ~C-k~ : coupe la ligne entière à partir du curseur
- ~C-y~ : coller
- ~C-x u~ : annuler
Les opérations de type couper/copier/coller s'opèrent sur une
"région". Il faut donc définir cette région. Pour se faire on déplace
le curseur en début de zone, puis on exécute : ~C-espace.~ En bas de
fenètre l'inscription *Mark set* apparait.
Après avoir marqué le début de la région, il faut déplacer le curseur
jusqu'à la fin, pour sélectionner la zone. A partir de là, vous pouvez
couper, copier le contenu de la région et déplacer le curseur vers la
zone ou coller le texte.
* Chercher une chaine de caractères
La recherche d'une chaine de caractère se fait vers le début du
fichier ou vers sa fin, par rapport au curseur.
- ~C-R~ : recherche vers le début
- ~C-S~ : recherche vers la fin
Pour se déplacer dans les résultats de recherche, il suffit de
ré-exécuter la séquence.
* Chercher et remplacer
Chercher une chaine de caractère et la remplacer, fonctionne à partir
du curseur. Pour faire une recherche sur tout le fichier, il faut se
mettre au tout début.
- ~ESC-%~ : ouvre un minibuffer ou l'on écrit la chaine que l'on va
chercher
Puis le minibuffer nous demande par quoi la remplacer.
Après validation, *emacs* met en surbrillance les occurences trouvée et
nous propose d'effectuer le remplacement.
- ~y~ : valide le remplacement;
- ~n~ : invalide le remplacement et on passe à l'occurence suivante;
- ~.~ : remplace et quitte le mode cherche et remplace;
- ~!~ : remplace toutes les occurences et me demande pas à chaque fois;
- ~^~ : revient sur la précédente occurence
- ~q~ : quitte tout simplement le mode cherche et remplace
* Déplacement dans un fichier
- ~C-a~ : va au début de la ligne;
- ~C-e~ : va en fin de ligne;
- ~ESC >~ : aller à la fin du fichier;
- ~ESC <~ : aller au début du fichier;
* les replis
Les replis permettent de garder que les titres ou sections, et
augmente ainsi la visibilité. Dans un fichier org-mode :
- ~SHIFT-TAB~ : replis toutes les sections;
- ~TAB~ : déplit. Pour fonctionner, il faut être en début de ligne.
* Exécuter une commande emacs
Toute les commandes n'ont pas de raccourcis clavier et on a pas
toujours envie de tout retenir. *Emacs* permet d'exécuter une action,
simplement en l'appelant :
- ~ALT-X~ : puis le nom de l'action (la completion fonctionne)