diff --git a/emacs-les-bases.org b/emacs-les-bases.org new file mode 100644 index 0000000..5ccbc01 --- /dev/null +++ b/emacs-les-bases.org @@ -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)