From 0c4d766828e473a55168a271bbc0d8f5988745a1 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Wed, 24 Jun 2020 00:14:00 +0200 Subject: [PATCH] Ajout du raccourci C-" pour couper les chaines en 2 --- Configuration.html | 460 ++++++++++++++++++++++++--------------------- Configuration.org | 14 +- Configuration.pdf | Bin 266122 -> 266880 bytes Installation.html | 76 ++++---- Installation.pdf | Bin 153729 -> 153729 bytes Readme.html | 28 +-- Readme.pdf | Bin 81502 -> 81502 bytes Tutoriel.html | 328 ++++++++++++++++---------------- Tutoriel.pdf | Bin 900793 -> 900793 bytes 9 files changed, 476 insertions(+), 430 deletions(-) diff --git a/Configuration.html b/Configuration.html index 9ddbe4e..65a6087 100644 --- a/Configuration.html +++ b/Configuration.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"> <head> -<!-- 2020-05-18 lun. 22:48 --> +<!-- 2020-06-24 mer. 00:13 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Configuration</title> @@ -239,98 +239,98 @@ for the JavaScript code in this tag. <h2>Table des matières</h2> <div id="text-table-of-contents"> <ul> -<li><a href="#org80aecdb">1. Choix d'interface</a> +<li><a href="#orgee906ab">1. Choix d'interface</a> <ul> -<li><a href="#org0fb1a53">1.1. Pas d'écran de bienvenue</a></li> -<li><a href="#orge83d9c4">1.2. Désactive des raccourcis</a></li> -<li><a href="#orgf0cc0dd">1.3. Augumente la mémoire pour le <i>garbage collector</i> ⇒ meilleures performances</a></li> -<li><a href="#org58bce33">1.4. <i>toolbar</i></a></li> -<li><a href="#org4246c44">1.5. Réponses par y ou n</a></li> -<li><a href="#orgfebf619">1.6. Commentaires</a></li> -<li><a href="#orgb198a95">1.7. Désactive l'auto-save</a></li> -<li><a href="#orgf5a0b1d">1.8. Auto-fill</a></li> -<li><a href="#orgbd59dee">1.9. Supression des blancs inutiles</a></li> -<li><a href="#org9236dcd">1.10. Numéros de lignes</a></li> -<li><a href="#orgf8f59e7">1.11. Try</a></li> -<li><a href="#orgc4abfca">1.12. Posframe</a></li> -<li><a href="#org11f024f">1.13. Which key</a></li> -<li><a href="#org6379c08">1.14. Gnuplot</a></li> -<li><a href="#org0eb6dbb">1.15. Org mode</a></li> -<li><a href="#org3ab38a0">1.16. Ace window</a></li> -<li><a href="#org73259c1">1.17. Window-jump</a></li> -<li><a href="#org2b879be">1.18. Ivy / Counsel</a></li> -<li><a href="#org0777812">1.19. Swiper</a></li> -<li><a href="#org33857a6">1.20. Avy</a></li> -<li><a href="#org6d2c087">1.21. Company</a></li> -<li><a href="#orge8d2543">1.22. C++</a> +<li><a href="#orgc51c036">1.1. Pas d'écran de bienvenue</a></li> +<li><a href="#org37b9e2e">1.2. Désactive des raccourcis</a></li> +<li><a href="#org5fa6512">1.3. Augumente la mémoire pour le <i>garbage collector</i> ⇒ meilleures performances</a></li> +<li><a href="#org89c8b9d">1.4. <i>toolbar</i></a></li> +<li><a href="#orga0da865">1.5. Réponses par y ou n</a></li> +<li><a href="#org5916c56">1.6. Commentaires</a></li> +<li><a href="#org4f83406">1.7. Désactive l'auto-save</a></li> +<li><a href="#org721c9af">1.8. Auto-fill</a></li> +<li><a href="#org9c4f513">1.9. Supression des blancs inutiles</a></li> +<li><a href="#org8fd0fb2">1.10. Numéros de lignes</a></li> +<li><a href="#orgae772f9">1.11. Try</a></li> +<li><a href="#orgc4824eb">1.12. Posframe</a></li> +<li><a href="#org0209405">1.13. Which key</a></li> +<li><a href="#orge99a8a3">1.14. Gnuplot</a></li> +<li><a href="#org8a6a6af">1.15. Org mode</a></li> +<li><a href="#org183dc9d">1.16. Ace window</a></li> +<li><a href="#org1e882d7">1.17. Window-jump</a></li> +<li><a href="#org052ee63">1.18. Ivy / Counsel</a></li> +<li><a href="#org73020d2">1.19. Swiper</a></li> +<li><a href="#org19518c1">1.20. Avy</a></li> +<li><a href="#org4253ad8">1.21. Company</a></li> +<li><a href="#org564b50e">1.22. C++</a> <ul> -<li><a href="#org3326060">1.22.1. On branche Irony à Company</a></li> -<li><a href="#org55e55e7">1.22.2. On active Irony pour le C++</a></li> -<li><a href="#org024859e">1.22.3. Eldoc / Irony</a></li> -<li><a href="#org141f5a1">1.22.4. Formatage automatique : <code>clang-format</code></a></li> -<li><a href="#org32d66f6">1.22.5. Coloration syntaxique (C++ moderne)</a></li> +<li><a href="#org2df320a">1.22.1. On branche Irony à Company</a></li> +<li><a href="#orge1cd245">1.22.2. On active Irony pour le C++</a></li> +<li><a href="#org1ae44d8">1.22.3. Eldoc / Irony</a></li> +<li><a href="#orgea9360b">1.22.4. Formatage automatique : <code>clang-format</code></a></li> +<li><a href="#orgf791164">1.22.5. Coloration syntaxique (C++ moderne)</a></li> </ul> </li> -<li><a href="#orga7bdef7">1.23. Thèmes</a></li> -<li><a href="#orgedf8cc9">1.24. Modeline</a></li> -<li><a href="#orgc2119f3">1.25. Parenthèses arc-en-ciel</a></li> -<li><a href="#org331a393">1.26. FlyCheck</a></li> -<li><a href="#orgc4a4dc7">1.27. Python</a></li> -<li><a href="#org732b176">1.28. YASnippet</a></li> -<li><a href="#org9b3da9a">1.29. Divers paquets</a> +<li><a href="#org3f90dfa">1.23. Thèmes</a></li> +<li><a href="#org9603f21">1.24. Modeline</a></li> +<li><a href="#org55c32f6">1.25. Parenthèses arc-en-ciel</a></li> +<li><a href="#orgcc7728c">1.26. FlyCheck</a></li> +<li><a href="#org47c8225">1.27. Python</a></li> +<li><a href="#org2d829e2">1.28. YASnippet</a></li> +<li><a href="#org102d44c">1.29. Divers paquets</a> <ul> -<li><a href="#org0d970b4">1.29.1. Highlight line</a></li> -<li><a href="#org590a5f8">1.29.2. Beacon</a></li> -<li><a href="#orge7d4ff6">1.29.3. hungry-delete</a></li> -<li><a href="#orgb92d083">1.29.4. Expand-region</a></li> -<li><a href="#org33bb66b">1.29.5. Meilleure gestion du <code>kill-ring</code></a></li> -<li><a href="#org5adbb28">1.29.6. Gestion de la restauration des buffers</a></li> +<li><a href="#org2be920d">1.29.1. Highlight line</a></li> +<li><a href="#orgd74bf7c">1.29.2. Beacon</a></li> +<li><a href="#orgb369626">1.29.3. hungry-delete</a></li> +<li><a href="#org77d77b3">1.29.4. Expand-region</a></li> +<li><a href="#org9f27e6b">1.29.5. Meilleure gestion du <code>kill-ring</code></a></li> +<li><a href="#org1c724da">1.29.6. Gestion de la restauration des buffers</a></li> </ul> </li> -<li><a href="#orga8f1f61">1.30. Powerline</a></li> -<li><a href="#orgb60e9d3">1.31. iedit</a></li> -<li><a href="#org0d18357">1.32. Narrow/widen dwim</a></li> -<li><a href="#orge80fdaa">1.33. Web Mode</a></li> -<li><a href="#orgc20f68e">1.34. Emmet mode</a></li> -<li><a href="#orgd823c7e">1.35. Dired-dwim</a></li> -<li><a href="#org8bbcd61">1.36. LaTeX</a></li> -<li><a href="#org15c0ae2">1.37. Gestion de projets</a></li> -<li><a href="#orge7ad4b3">1.38. Org-mode (langages suportés)</a></li> -<li><a href="#orgbd9b188">1.39. Parenthèses</a></li> -<li><a href="#org0d6913a">1.40. Taille de la police</a></li> -<li><a href="#org39ecbfe">1.41. Hydra</a></li> -<li><a href="#orgd5188fe">1.42. Modes git</a></li> -<li><a href="#orgd336316">1.43. FlySpell</a></li> -<li><a href="#org5791ee7">1.44. C++</a></li> -<li><a href="#org74ae162">1.45. Compilation</a></li> -<li><a href="#orgd572aa7">1.46. CMake</a></li> -<li><a href="#org1b40526">1.47. Markdown</a></li> -<li><a href="#orga4ea630">1.48. Dumb jump</a></li> -<li><a href="#org3cca8c2">1.49. Origami</a></li> -<li><a href="#org87f9e64">1.50. IBuffer</a></li> -<li><a href="#org391a346">1.51. WGrep</a></li> -<li><a href="#orge82a5ae">1.52. PDF tools</a></li> -<li><a href="#org954b49a">1.53. AutoYASnippet</a></li> -<li><a href="#org23009f4">1.54. Divers</a></li> -<li><a href="#org087b80d">1.55. Keyfreq</a></li> -<li><a href="#orgd529ff5">1.56. Dictionnaire et césures</a></li> +<li><a href="#org24dbec6">1.30. Powerline</a></li> +<li><a href="#orgfb3d17c">1.31. iedit</a></li> +<li><a href="#org3883a6f">1.32. Narrow/widen dwim</a></li> +<li><a href="#orgc2415c1">1.33. Web Mode</a></li> +<li><a href="#org45ab22d">1.34. Emmet mode</a></li> +<li><a href="#org933da19">1.35. Dired-dwim</a></li> +<li><a href="#org96e1b0b">1.36. LaTeX</a></li> +<li><a href="#orgddcfcbc">1.37. Gestion de projets</a></li> +<li><a href="#org0998465">1.38. Org-mode (langages suportés)</a></li> +<li><a href="#orgbee39f9">1.39. Parenthèses</a></li> +<li><a href="#org1ae9353">1.40. Taille de la police</a></li> +<li><a href="#org37b3d07">1.41. Hydra</a></li> +<li><a href="#org63e26c9">1.42. Modes git</a></li> +<li><a href="#org4d4d6a9">1.43. FlySpell</a></li> +<li><a href="#org1c56505">1.44. C++</a></li> +<li><a href="#orgb3cd920">1.45. Compilation</a></li> +<li><a href="#org74e5f8f">1.46. CMake</a></li> +<li><a href="#org03d369d">1.47. Markdown</a></li> +<li><a href="#org700c4d6">1.48. Dumb jump</a></li> +<li><a href="#org5aae76c">1.49. Origami</a></li> +<li><a href="#orgb0b9754">1.50. IBuffer</a></li> +<li><a href="#org1f7363c">1.51. WGrep</a></li> +<li><a href="#org86f0d10">1.52. PDF tools</a></li> +<li><a href="#org23cd4ac">1.53. AutoYASnippet</a></li> +<li><a href="#orgafb17d7">1.54. Divers</a></li> +<li><a href="#org43bda89">1.55. Keyfreq</a></li> +<li><a href="#org4d6bbd2">1.56. Dictionnaire et césures</a></li> </ul> </li> -<li><a href="#org9ab3d20">2. Annexes</a> +<li><a href="#org96b1626">2. Annexes</a> <ul> -<li><a href="#org7e25936">2.1. Génération de toute la documentation</a></li> +<li><a href="#org109ded0">2.1. Génération de toute la documentation</a></li> </ul> </li> </ul> </div> </div> -<div id="outline-container-org80aecdb" class="outline-2"> -<h2 id="org80aecdb"><span class="section-number-2">1</span> Choix d'interface</h2> +<div id="outline-container-orgee906ab" class="outline-2"> +<h2 id="orgee906ab"><span class="section-number-2">1</span> Choix d'interface</h2> <div class="outline-text-2" id="text-1"> </div> -<div id="outline-container-org0fb1a53" class="outline-3"> -<h3 id="org0fb1a53"><span class="section-number-3">1.1</span> Pas d'écran de bienvenue</h3> +<div id="outline-container-orgc51c036" class="outline-3"> +<h3 id="orgc51c036"><span class="section-number-3">1.1</span> Pas d'écran de bienvenue</h3> <div class="outline-text-3" id="text-1-1"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> inhibit-startup-message t<span class="org-rainbow-delimiters-depth-1">)</span> @@ -339,8 +339,8 @@ for the JavaScript code in this tag. </div> </div> -<div id="outline-container-orge83d9c4" class="outline-3"> -<h3 id="orge83d9c4"><span class="section-number-3">1.2</span> Désactive des raccourcis</h3> +<div id="outline-container-org37b9e2e" class="outline-3"> +<h3 id="org37b9e2e"><span class="section-number-3">1.2</span> Désactive des raccourcis</h3> <div class="outline-text-3" id="text-1-2"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span>global-set-key <span class="org-rainbow-delimiters-depth-2">(</span>kbd <span class="org-string">"C-x C-z"</span><span class="org-rainbow-delimiters-depth-2">)</span> nil<span class="org-rainbow-delimiters-depth-1">)</span> @@ -349,8 +349,8 @@ for the JavaScript code in this tag. </div> </div> -<div id="outline-container-orgf0cc0dd" class="outline-3"> -<h3 id="orgf0cc0dd"><span class="section-number-3">1.3</span> Augumente la mémoire pour le <i>garbage collector</i> ⇒ meilleures performances</h3> +<div id="outline-container-org5fa6512" class="outline-3"> +<h3 id="org5fa6512"><span class="section-number-3">1.3</span> Augumente la mémoire pour le <i>garbage collector</i> ⇒ meilleures performances</h3> <div class="outline-text-3" id="text-1-3"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> gc-cons-threshold 64000000<span class="org-rainbow-delimiters-depth-1">)</span> @@ -363,8 +363,8 @@ for the JavaScript code in this tag. </div> </div> -<div id="outline-container-org58bce33" class="outline-3"> -<h3 id="org58bce33"><span class="section-number-3">1.4</span> <i>toolbar</i></h3> +<div id="outline-container-org89c8b9d" class="outline-3"> +<h3 id="org89c8b9d"><span class="section-number-3">1.4</span> <i>toolbar</i></h3> <div class="outline-text-3" id="text-1-4"> <p> Elle est déactivée par défaut @@ -387,8 +387,8 @@ est actif. </div> </div> -<div id="outline-container-org4246c44" class="outline-3"> -<h3 id="org4246c44"><span class="section-number-3">1.5</span> Réponses par y ou n</h3> +<div id="outline-container-orga0da865" class="outline-3"> +<h3 id="orga0da865"><span class="section-number-3">1.5</span> Réponses par y ou n</h3> <div class="outline-text-3" id="text-1-5"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span>fset 'yes-or-no-p 'y-or-n-p<span class="org-rainbow-delimiters-depth-1">)</span> @@ -397,8 +397,8 @@ est actif. </div> </div> -<div id="outline-container-orgfebf619" class="outline-3"> -<h3 id="orgfebf619"><span class="section-number-3">1.6</span> Commentaires</h3> +<div id="outline-container-org5916c56" class="outline-3"> +<h3 id="org5916c56"><span class="section-number-3">1.6</span> Commentaires</h3> <div class="outline-text-3" id="text-1-6"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> @@ -428,8 +428,8 @@ est actif. </div> </div> -<div id="outline-container-orgb198a95" class="outline-3"> -<h3 id="orgb198a95"><span class="section-number-3">1.7</span> Désactive l'auto-save</h3> +<div id="outline-container-org4f83406" class="outline-3"> +<h3 id="org4f83406"><span class="section-number-3">1.7</span> Désactive l'auto-save</h3> <div class="outline-text-3" id="text-1-7"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> auto-save-default nil<span class="org-rainbow-delimiters-depth-1">)</span> @@ -438,8 +438,8 @@ est actif. </div> </div> -<div id="outline-container-orgf5a0b1d" class="outline-3"> -<h3 id="orgf5a0b1d"><span class="section-number-3">1.8</span> Auto-fill</h3> +<div id="outline-container-org721c9af" class="outline-3"> +<h3 id="org721c9af"><span class="section-number-3">1.8</span> Auto-fill</h3> <div class="outline-text-3" id="text-1-8"> <p> Utilise le mode mineur <code>auto-fill</code> (des retours à la ligne sont @@ -459,8 +459,8 @@ automatiquement ajoutés quand les lignes sont trop longues). </div> </div> -<div id="outline-container-orgbd59dee" class="outline-3"> -<h3 id="orgbd59dee"><span class="section-number-3">1.9</span> Supression des blancs inutiles</h3> +<div id="outline-container-org9c4f513" class="outline-3"> +<h3 id="org9c4f513"><span class="section-number-3">1.9</span> Supression des blancs inutiles</h3> <div class="outline-text-3" id="text-1-9"> <p> On retire les blancs qui traînent en fin de ligne à la sauvegarde d'un @@ -476,8 +476,8 @@ On retire les blancs qui traînent en fin de ligne à la sauvegarde d'un </div> </div> -<div id="outline-container-org9236dcd" class="outline-3"> -<h3 id="org9236dcd"><span class="section-number-3">1.10</span> Numéros de lignes</h3> +<div id="outline-container-org8fd0fb2" class="outline-3"> +<h3 id="org8fd0fb2"><span class="section-number-3">1.10</span> Numéros de lignes</h3> <div class="outline-text-3" id="text-1-10"> <p> Affiche les numéros des lignes en marge de gauche. @@ -497,8 +497,8 @@ Affiche les numéros des lignes en marge de gauche. </div> </div> -<div id="outline-container-orgf8f59e7" class="outline-3"> -<h3 id="orgf8f59e7"><span class="section-number-3">1.11</span> Try</h3> +<div id="outline-container-orgae772f9" class="outline-3"> +<h3 id="orgae772f9"><span class="section-number-3">1.11</span> Try</h3> <div class="outline-text-3" id="text-1-11"> <p> Permet d'essayer des paquets (sans les installer de manière permanente) @@ -511,8 +511,8 @@ Permet d'essayer des paquets (sans les installer de manière permanente) </div> </div> -<div id="outline-container-orgc4abfca" class="outline-3"> -<h3 id="orgc4abfca"><span class="section-number-3">1.12</span> Posframe</h3> +<div id="outline-container-orgc4824eb" class="outline-3"> +<h3 id="orgc4824eb"><span class="section-number-3">1.12</span> Posframe</h3> <div class="outline-text-3" id="text-1-12"> <p> Affiche des boîtes de dialogue @@ -525,8 +525,8 @@ Affiche des boîtes de dialogue </div> </div> -<div id="outline-container-org11f024f" class="outline-3"> -<h3 id="org11f024f"><span class="section-number-3">1.13</span> Which key</h3> +<div id="outline-container-org0209405" class="outline-3"> +<h3 id="org0209405"><span class="section-number-3">1.13</span> Which key</h3> <div class="outline-text-3" id="text-1-13"> <p> Aide en ligne pour les raccourcis (<i>quelle touche ?</i>) @@ -541,8 +541,8 @@ Aide en ligne pour les raccourcis (<i>quelle touche ?</i>) </div> </div> -<div id="outline-container-org6379c08" class="outline-3"> -<h3 id="org6379c08"><span class="section-number-3">1.14</span> Gnuplot</h3> +<div id="outline-container-orge99a8a3" class="outline-3"> +<h3 id="orge99a8a3"><span class="section-number-3">1.14</span> Gnuplot</h3> <div class="outline-text-3" id="text-1-14"> <p> Ajout du mode <code>gnuplot</code>, en particulier pour les interactions avec @@ -556,8 +556,8 @@ Ajout du mode <code>gnuplot</code>, en particulier pour les interactions avec </div> </div> -<div id="outline-container-org0eb6dbb" class="outline-3"> -<h3 id="org0eb6dbb"><span class="section-number-3">1.15</span> Org mode</h3> +<div id="outline-container-org8a6a6af" class="outline-3"> +<h3 id="org8a6a6af"><span class="section-number-3">1.15</span> Org mode</h3> <div class="outline-text-3" id="text-1-15"> <p> <i>Org bullets</i> pour un plus bel affichage des sections @@ -632,8 +632,8 @@ Ajout du mode <code>gnuplot</code>, en particulier pour les interactions avec </div> </div> -<div id="outline-container-org3ab38a0" class="outline-3"> -<h3 id="org3ab38a0"><span class="section-number-3">1.16</span> Ace window</h3> +<div id="outline-container-org183dc9d" class="outline-3"> +<h3 id="org183dc9d"><span class="section-number-3">1.16</span> Ace window</h3> <div class="outline-text-3" id="text-1-16"> <p> Permet de changer facilement de fenêtre. S'il y a plus de deux <i>buffers</i> @@ -678,8 +678,8 @@ fenêtre choisie pour s'y rendre. </div> </div> -<div id="outline-container-org73259c1" class="outline-3"> -<h3 id="org73259c1"><span class="section-number-3">1.17</span> Window-jump</h3> +<div id="outline-container-org1e882d7" class="outline-3"> +<h3 id="org1e882d7"><span class="section-number-3">1.17</span> Window-jump</h3> <div class="outline-text-3" id="text-1-17"> <p> Permet de changer intuitivement de fenêtre en utilisant les flèches du @@ -734,8 +734,8 @@ alignée avec le curseur. </div> </div> -<div id="outline-container-org2b879be" class="outline-3"> -<h3 id="org2b879be"><span class="section-number-3">1.18</span> Ivy / Counsel</h3> +<div id="outline-container-org052ee63" class="outline-3"> +<h3 id="org052ee63"><span class="section-number-3">1.18</span> Ivy / Counsel</h3> <div class="outline-text-3" id="text-1-18"> <p> Interface de complétion @@ -763,8 +763,8 @@ Interface de complétion </div> </div> -<div id="outline-container-org0777812" class="outline-3"> -<h3 id="org0777812"><span class="section-number-3">1.19</span> Swiper</h3> +<div id="outline-container-org73020d2" class="outline-3"> +<h3 id="org73020d2"><span class="section-number-3">1.19</span> Swiper</h3> <div class="outline-text-3" id="text-1-19"> <p> Améliore la recherche incrémentale. Les raccourcis sont les raccourcis @@ -837,8 +837,8 @@ chaîne avec <code>RET</code>.</li> </div> </div> -<div id="outline-container-org33857a6" class="outline-3"> -<h3 id="org33857a6"><span class="section-number-3">1.20</span> Avy</h3> +<div id="outline-container-org19518c1" class="outline-3"> +<h3 id="org19518c1"><span class="section-number-3">1.20</span> Avy</h3> <div class="outline-text-3" id="text-1-20"> <p> Saute très rapidement vers la zone de texte contenant une lettre. @@ -873,8 +873,8 @@ Saute très rapidement vers la zone de texte contenant une lettre. </div> </div> -<div id="outline-container-org6d2c087" class="outline-3"> -<h3 id="org6d2c087"><span class="section-number-3">1.21</span> Company</h3> +<div id="outline-container-org4253ad8" class="outline-3"> +<h3 id="org4253ad8"><span class="section-number-3">1.21</span> Company</h3> <div class="outline-text-3" id="text-1-21"> <p> Boîtes de dialogue pour la complétion @@ -907,15 +907,15 @@ Boîtes de dialogue pour la complétion </div> </div> -<div id="outline-container-orge8d2543" class="outline-3"> -<h3 id="orge8d2543"><span class="section-number-3">1.22</span> C++</h3> +<div id="outline-container-org564b50e" class="outline-3"> +<h3 id="org564b50e"><span class="section-number-3">1.22</span> C++</h3> <div class="outline-text-3" id="text-1-22"> <p> Transforme Emacs en un véritable IDE en utilisant <code>Irony</code> </p> </div> -<div id="outline-container-org3326060" class="outline-4"> -<h4 id="org3326060"><span class="section-number-4">1.22.1</span> On branche Irony à Company</h4> +<div id="outline-container-org2df320a" class="outline-4"> +<h4 id="org2df320a"><span class="section-number-4">1.22.1</span> On branche Irony à Company</h4> <div class="outline-text-4" id="text-1-22-1"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">company-irony</span> @@ -940,8 +940,8 @@ Et on utilise <code>company-irony-c-header</code> pour compléter aussi les </div> </div> -<div id="outline-container-org55e55e7" class="outline-4"> -<h4 id="org55e55e7"><span class="section-number-4">1.22.2</span> On active Irony pour le C++</h4> +<div id="outline-container-orge1cd245" class="outline-4"> +<h4 id="orge1cd245"><span class="section-number-4">1.22.2</span> On active Irony pour le C++</h4> <div class="outline-text-4" id="text-1-22-2"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">irony</span> @@ -955,8 +955,8 @@ Et on utilise <code>company-irony-c-header</code> pour compléter aussi les </div> </div> -<div id="outline-container-org024859e" class="outline-4"> -<h4 id="org024859e"><span class="section-number-4">1.22.3</span> Eldoc / Irony</h4> +<div id="outline-container-org1ae44d8" class="outline-4"> +<h4 id="org1ae44d8"><span class="section-number-4">1.22.3</span> Eldoc / Irony</h4> <div class="outline-text-4" id="text-1-22-3"> <p> Affiche la documentation des objets/fonctions dans le minibuffer @@ -971,8 +971,8 @@ Affiche la documentation des objets/fonctions dans le minibuffer </div> </div> -<div id="outline-container-org141f5a1" class="outline-4"> -<h4 id="org141f5a1"><span class="section-number-4">1.22.4</span> Formatage automatique : <code>clang-format</code></h4> +<div id="outline-container-orgea9360b" class="outline-4"> +<h4 id="orgea9360b"><span class="section-number-4">1.22.4</span> Formatage automatique : <code>clang-format</code></h4> <div class="outline-text-4" id="text-1-22-4"> <p> Création d'un raccourci spécial pour formater une zone du code. @@ -1062,8 +1062,8 @@ Force le formatage du fichier quand il est sauvegardé </div> </div> -<div id="outline-container-org32d66f6" class="outline-4"> -<h4 id="org32d66f6"><span class="section-number-4">1.22.5</span> Coloration syntaxique (C++ moderne)</h4> +<div id="outline-container-orgf791164" class="outline-4"> +<h4 id="orgf791164"><span class="section-number-4">1.22.5</span> Coloration syntaxique (C++ moderne)</h4> <div class="outline-text-4" id="text-1-22-5"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">modern-cpp-font-lock</span> @@ -1080,8 +1080,8 @@ Force le formatage du fichier quand il est sauvegardé </div> </div> -<div id="outline-container-orga7bdef7" class="outline-3"> -<h3 id="orga7bdef7"><span class="section-number-3">1.23</span> Thèmes</h3> +<div id="outline-container-org3f90dfa" class="outline-3"> +<h3 id="org3f90dfa"><span class="section-number-3">1.23</span> Thèmes</h3> <div class="outline-text-3" id="text-1-23"> <p> Chargement de quelques thèmes @@ -1099,8 +1099,8 @@ Chargement de quelques thèmes </div> </div> -<div id="outline-container-orgedf8cc9" class="outline-3"> -<h3 id="orgedf8cc9"><span class="section-number-3">1.24</span> Modeline</h3> +<div id="outline-container-org9603f21" class="outline-3"> +<h3 id="org9603f21"><span class="section-number-3">1.24</span> Modeline</h3> <div class="outline-text-3" id="text-1-24"> <p> Augmente la taille de la police @@ -1147,8 +1147,8 @@ Taille de la fenêtre et position </div> </div> -<div id="outline-container-orgc2119f3" class="outline-3"> -<h3 id="orgc2119f3"><span class="section-number-3">1.25</span> Parenthèses arc-en-ciel</h3> +<div id="outline-container-org55c32f6" class="outline-3"> +<h3 id="org55c32f6"><span class="section-number-3">1.25</span> Parenthèses arc-en-ciel</h3> <div class="outline-text-3" id="text-1-25"> <p> Améliore le visuel des parenthèses @@ -1166,8 +1166,8 @@ Améliore le visuel des parenthèses </div> </div> -<div id="outline-container-org331a393" class="outline-3"> -<h3 id="org331a393"><span class="section-number-3">1.26</span> FlyCheck</h3> +<div id="outline-container-orgcc7728c" class="outline-3"> +<h3 id="orgcc7728c"><span class="section-number-3">1.26</span> FlyCheck</h3> <div class="outline-text-3" id="text-1-26"> <p> On branche <code>FlyCheck</code> à <code>Irony</code> pour une analyse des erreurs à la volée. @@ -1215,8 +1215,8 @@ On utilise <code>posframe</code> pour afficher les erreurs en ligne </div> </div> </div> -<div id="outline-container-orgc4a4dc7" class="outline-3"> -<h3 id="orgc4a4dc7"><span class="section-number-3">1.27</span> Python</h3> +<div id="outline-container-org47c8225" class="outline-3"> +<h3 id="org47c8225"><span class="section-number-3">1.27</span> Python</h3> <div class="outline-text-3" id="text-1-27"> <p> Attention pour que la configuration fonctionne, il faut installer @@ -1246,8 +1246,8 @@ Attention pour que la configuration fonctionne, il faut installer </div> </div> -<div id="outline-container-org732b176" class="outline-3"> -<h3 id="org732b176"><span class="section-number-3">1.28</span> YASnippet</h3> +<div id="outline-container-org2d829e2" class="outline-3"> +<h3 id="org2d829e2"><span class="section-number-3">1.28</span> YASnippet</h3> <div class="outline-text-3" id="text-1-28"> <p> Le système de templates pour Emacs @@ -1267,12 +1267,12 @@ Le système de templates pour Emacs </div> </div> -<div id="outline-container-org9b3da9a" class="outline-3"> -<h3 id="org9b3da9a"><span class="section-number-3">1.29</span> Divers paquets</h3> +<div id="outline-container-org102d44c" class="outline-3"> +<h3 id="org102d44c"><span class="section-number-3">1.29</span> Divers paquets</h3> <div class="outline-text-3" id="text-1-29"> </div> -<div id="outline-container-org0d970b4" class="outline-4"> -<h4 id="org0d970b4"><span class="section-number-4">1.29.1</span> Highlight line</h4> +<div id="outline-container-org2be920d" class="outline-4"> +<h4 id="org2be920d"><span class="section-number-4">1.29.1</span> Highlight line</h4> <div class="outline-text-4" id="text-1-29-1"> <p> Mise en valeur de la ligne courante @@ -1284,8 +1284,8 @@ Mise en valeur de la ligne courante </div> </div> -<div id="outline-container-org590a5f8" class="outline-4"> -<h4 id="org590a5f8"><span class="section-number-4">1.29.2</span> Beacon</h4> +<div id="outline-container-orgd74bf7c" class="outline-4"> +<h4 id="orgd74bf7c"><span class="section-number-4">1.29.2</span> Beacon</h4> <div class="outline-text-4" id="text-1-29-2"> <p> Flash de la ligne aux changements de page ou de buffer @@ -1300,8 +1300,8 @@ Flash de la ligne aux changements de page ou de buffer </div> </div> -<div id="outline-container-orge7d4ff6" class="outline-4"> -<h4 id="orge7d4ff6"><span class="section-number-4">1.29.3</span> hungry-delete</h4> +<div id="outline-container-orgb369626" class="outline-4"> +<h4 id="orgb369626"><span class="section-number-4">1.29.3</span> hungry-delete</h4> <div class="outline-text-4" id="text-1-29-3"> <p> Suppression de tous les blancs quand appuie sur backspace ou delete @@ -1316,8 +1316,8 @@ Suppression de tous les blancs quand appuie sur backspace ou delete </div> </div> -<div id="outline-container-orgb92d083" class="outline-4"> -<h4 id="orgb92d083"><span class="section-number-4">1.29.4</span> Expand-region</h4> +<div id="outline-container-org77d77b3" class="outline-4"> +<h4 id="org77d77b3"><span class="section-number-4">1.29.4</span> Expand-region</h4> <div class="outline-text-4" id="text-1-29-4"> <p> Sélectionne une zone de manière incrémentale. mot, phrase, paragraphe, @@ -1333,8 +1333,8 @@ etc de manière intelligente. </div> </div> -<div id="outline-container-org33bb66b" class="outline-4"> -<h4 id="org33bb66b"><span class="section-number-4">1.29.5</span> Meilleure gestion du <code>kill-ring</code></h4> +<div id="outline-container-org9f27e6b" class="outline-4"> +<h4 id="org9f27e6b"><span class="section-number-4">1.29.5</span> Meilleure gestion du <code>kill-ring</code></h4> <div class="outline-text-4" id="text-1-29-5"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> save-interprogram-paste-before-kill t<span class="org-rainbow-delimiters-depth-1">)</span> @@ -1343,8 +1343,8 @@ etc de manière intelligente. </div> </div> -<div id="outline-container-org5adbb28" class="outline-4"> -<h4 id="org5adbb28"><span class="section-number-4">1.29.6</span> Gestion de la restauration des buffers</h4> +<div id="outline-container-org1c724da" class="outline-4"> +<h4 id="org1c724da"><span class="section-number-4">1.29.6</span> Gestion de la restauration des buffers</h4> <div class="outline-text-4" id="text-1-29-6"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span>global-auto-revert-mode 1<span class="org-rainbow-delimiters-depth-1">)</span> @@ -1357,8 +1357,8 @@ etc de manière intelligente. </div> </div> -<div id="outline-container-orga8f1f61" class="outline-3"> -<h3 id="orga8f1f61"><span class="section-number-3">1.30</span> Powerline</h3> +<div id="outline-container-org24dbec6" class="outline-3"> +<h3 id="org24dbec6"><span class="section-number-3">1.30</span> Powerline</h3> <div class="outline-text-3" id="text-1-30"> <p> Un bel affichage pour la barre d'état (<i>modeline</i>) @@ -1399,8 +1399,8 @@ N'affiche pas tous les modes mineurs, les place dans le menu de la </div> </div> -<div id="outline-container-orgb60e9d3" class="outline-3"> -<h3 id="orgb60e9d3"><span class="section-number-3">1.31</span> iedit</h3> +<div id="outline-container-orgfb3d17c" class="outline-3"> +<h3 id="orgfb3d17c"><span class="section-number-3">1.31</span> iedit</h3> <div class="outline-text-3" id="text-1-31"> <p> Modifie les copies d'une zone séléctionnée simultanément @@ -1440,8 +1440,8 @@ Modifie les copies d'une zone séléctionnée simultanément </div> </div> -<div id="outline-container-org0d18357" class="outline-3"> -<h3 id="org0d18357"><span class="section-number-3">1.32</span> Narrow/widen dwim</h3> +<div id="outline-container-org3883a6f" class="outline-3"> +<h3 id="org3883a6f"><span class="section-number-3">1.32</span> Narrow/widen dwim</h3> <div class="outline-text-3" id="text-1-32"> <p> Réduit/agrandit une zone d'édition de manière intelligente @@ -1486,8 +1486,8 @@ Remplace la fonction Emacs standard par <code>dwim</code> </div> </div> -<div id="outline-container-orge80fdaa" class="outline-3"> -<h3 id="orge80fdaa"><span class="section-number-3">1.33</span> Web Mode</h3> +<div id="outline-container-orgc2415c1" class="outline-3"> +<h3 id="orgc2415c1"><span class="section-number-3">1.33</span> Web Mode</h3> <div class="outline-text-3" id="text-1-33"> <p> Mode avancé pour l'édition de pages <code>HTML</code>, <code>Css</code>,… @@ -1511,8 +1511,8 @@ Mode avancé pour l'édition de pages <code>HTML</code>, <code>Css</code>,Ȃ </div> </div> -<div id="outline-container-orgc20f68e" class="outline-3"> -<h3 id="orgc20f68e"><span class="section-number-3">1.34</span> Emmet mode</h3> +<div id="outline-container-org45ab22d" class="outline-3"> +<h3 id="org45ab22d"><span class="section-number-3">1.34</span> Emmet mode</h3> <div class="outline-text-3" id="text-1-34"> <p> Ensemble de fonctions permettant l'édition rapide de <i>markup languages</i> @@ -1533,8 +1533,8 @@ Ensemble de fonctions permettant l'édition rapide de <i>markup languages</i> </div> </div> -<div id="outline-container-orgd823c7e" class="outline-3"> -<h3 id="orgd823c7e"><span class="section-number-3">1.35</span> Dired-dwim</h3> +<div id="outline-container-org933da19" class="outline-3"> +<h3 id="org933da19"><span class="section-number-3">1.35</span> Dired-dwim</h3> <div class="outline-text-3" id="text-1-35"> <p> Permet d'utiliser réduire/agrandir les affichages de répertoires @@ -1559,8 +1559,8 @@ Permet d'utiliser réduire/agrandir les affichages de répertoires </div> </div> -<div id="outline-container-org8bbcd61" class="outline-3"> -<h3 id="org8bbcd61"><span class="section-number-3">1.36</span> LaTeX</h3> +<div id="outline-container-org96e1b0b" class="outline-3"> +<h3 id="org96e1b0b"><span class="section-number-3">1.36</span> LaTeX</h3> <div class="outline-text-3" id="text-1-36"> <p> Configuration LaTeX basique. @@ -1585,8 +1585,8 @@ Configuration LaTeX basique. </div> </div> -<div id="outline-container-org15c0ae2" class="outline-3"> -<h3 id="org15c0ae2"><span class="section-number-3">1.37</span> Gestion de projets</h3> +<div id="outline-container-orgddcfcbc" class="outline-3"> +<h3 id="orgddcfcbc"><span class="section-number-3">1.37</span> Gestion de projets</h3> <div class="outline-text-3" id="text-1-37"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">projectile</span> @@ -1600,8 +1600,8 @@ Configuration LaTeX basique. </div> </div> -<div id="outline-container-orge7ad4b3" class="outline-3"> -<h3 id="orge7ad4b3"><span class="section-number-3">1.38</span> Org-mode (langages suportés)</h3> +<div id="outline-container-org0998465" class="outline-3"> +<h3 id="org0998465"><span class="section-number-3">1.38</span> Org-mode (langages suportés)</h3> <div class="outline-text-3" id="text-1-38"> <p> Charge les langages disponibles pour org-mode @@ -1627,9 +1627,41 @@ Charge les langages disponibles pour org-mode </div> </div> -<div id="outline-container-orgbd9b188" class="outline-3"> -<h3 id="orgbd9b188"><span class="section-number-3">1.39</span> Parenthèses</h3> +<div id="outline-container-orgbee39f9" class="outline-3"> +<h3 id="orgbee39f9"><span class="section-number-3">1.39</span> Parenthèses</h3> <div class="outline-text-3" id="text-1-39"> +<p> +Gestion intelligente des parenthèses. +</p> + +<p> +<b>Attention</b> les guillemets sont automatiquement échappés à l'intérieur +de chaînes de caractères, ce qui peut être gênant pour l'utilisateur +non averti. Pour couper une chaîne en deux morceaux, utiliser alors le +raccourci suivant. +</p> +<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> + + +<colgroup> +<col class="org-left" /> + +<col class="org-left" /> +</colgroup> +<thead> +<tr> +<th scope="col" class="org-left">Raccourci</th> +<th scope="col" class="org-left">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td class="org-left"><code>C-"</code></td> +<td class="org-left">Coupe la chaîne de caractères en deux</td> +</tr> +</tbody> +</table> + <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">smartparens</span> <span class="org-builtin">:ensure</span> t @@ -1637,7 +1669,9 @@ Charge les langages disponibles pour org-mode <span class="org-builtin">:custom</span> <span class="org-rainbow-delimiters-depth-2">(</span>sp-escape-quotes-after-insert nil<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-builtin">:config</span> - <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">require</span> '<span class="org-constant">smartparens-config</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> + <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">require</span> '<span class="org-constant">smartparens-config</span><span class="org-rainbow-delimiters-depth-2">)</span> + <span class="org-rainbow-delimiters-depth-2">(</span>global-set-key <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-\""</span><span class="org-rainbow-delimiters-depth-3">)</span> 'sp-split-sexp<span class="org-rainbow-delimiters-depth-2">)</span> +<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span>show-paren-mode t<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> show-paren-style 'mixed<span class="org-rainbow-delimiters-depth-1">)</span> @@ -1646,8 +1680,8 @@ Charge les langages disponibles pour org-mode </div> </div> -<div id="outline-container-org0d6913a" class="outline-3"> -<h3 id="org0d6913a"><span class="section-number-3">1.40</span> Taille de la police</h3> +<div id="outline-container-org1ae9353" class="outline-3"> +<h3 id="org1ae9353"><span class="section-number-3">1.40</span> Taille de la police</h3> <div class="outline-text-3" id="text-1-40"> <p> Change la taille de la police dynamiquement (temporaire) @@ -1689,8 +1723,8 @@ Change la taille de la police dynamiquement (temporaire) </div> </div> -<div id="outline-container-org39ecbfe" class="outline-3"> -<h3 id="org39ecbfe"><span class="section-number-3">1.41</span> Hydra</h3> +<div id="outline-container-org37b3d07" class="outline-3"> +<h3 id="org37b3d07"><span class="section-number-3">1.41</span> Hydra</h3> <div class="outline-text-3" id="text-1-41"> <p> Outil de simplification des raccourcis. Un <i>popup</i> contextuel apparaît. @@ -1762,8 +1796,8 @@ Outil de simplification des raccourcis. Un <i>popup</i> contextuel apparaît. </div> </div> -<div id="outline-container-orgd5188fe" class="outline-3"> -<h3 id="orgd5188fe"><span class="section-number-3">1.42</span> Modes git</h3> +<div id="outline-container-org63e26c9" class="outline-3"> +<h3 id="org63e26c9"><span class="section-number-3">1.42</span> Modes git</h3> <div class="outline-text-3" id="text-1-42"> <p> Le sublime <code>Magit</code>. @@ -1879,8 +1913,8 @@ checkout -p</code>) </div> </div> -<div id="outline-container-orgd336316" class="outline-3"> -<h3 id="orgd336316"><span class="section-number-3">1.43</span> FlySpell</h3> +<div id="outline-container-org4d4d6a9" class="outline-3"> +<h3 id="org4d4d6a9"><span class="section-number-3">1.43</span> FlySpell</h3> <div class="outline-text-3" id="text-1-43"> <p> Correcteur orthographique à la volée. @@ -1902,8 +1936,8 @@ Correcteur orthographique à la volée. </div> </div> -<div id="outline-container-org5791ee7" class="outline-3"> -<h3 id="org5791ee7"><span class="section-number-3">1.44</span> C++</h3> +<div id="outline-container-org1c56505" class="outline-3"> +<h3 id="org1c56505"><span class="section-number-3">1.44</span> C++</h3> <div class="outline-text-3" id="text-1-44"> <p> Activation des <code>ggtags</code> @@ -1921,8 +1955,8 @@ Activation des <code>ggtags</code> </div> </div> -<div id="outline-container-org74ae162" class="outline-3"> -<h3 id="org74ae162"><span class="section-number-3">1.45</span> Compilation</h3> +<div id="outline-container-orgb3cd920" class="outline-3"> +<h3 id="orgb3cd920"><span class="section-number-3">1.45</span> Compilation</h3> <div class="outline-text-3" id="text-1-45"> <p> Active le rendu des couleurs ANSI dans le <i>buffer</i> de compilation @@ -2012,8 +2046,8 @@ Définit <code>C-c C-c</code> comme raccourci pour invoquer <code>make</code>. </div> </div> -<div id="outline-container-orgd572aa7" class="outline-3"> -<h3 id="orgd572aa7"><span class="section-number-3">1.46</span> CMake</h3> +<div id="outline-container-org74e5f8f" class="outline-3"> +<h3 id="org74e5f8f"><span class="section-number-3">1.46</span> CMake</h3> <div class="outline-text-3" id="text-1-46"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">cmake-mode</span> @@ -2036,8 +2070,8 @@ Définit <code>C-c C-c</code> comme raccourci pour invoquer <code>make</code>. </div> </div> -<div id="outline-container-org1b40526" class="outline-3"> -<h3 id="org1b40526"><span class="section-number-3">1.47</span> Markdown</h3> +<div id="outline-container-org03d369d" class="outline-3"> +<h3 id="org03d369d"><span class="section-number-3">1.47</span> Markdown</h3> <div class="outline-text-3" id="text-1-47"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">markdown-mode</span> @@ -2048,8 +2082,8 @@ Définit <code>C-c C-c</code> comme raccourci pour invoquer <code>make</code>. </div> </div> -<div id="outline-container-orga4ea630" class="outline-3"> -<h3 id="orga4ea630"><span class="section-number-3">1.48</span> Dumb jump</h3> +<div id="outline-container-org700c4d6" class="outline-3"> +<h3 id="org700c4d6"><span class="section-number-3">1.48</span> Dumb jump</h3> <div class="outline-text-3" id="text-1-48"> <p> Permet de se déplacer <b>très</b> rapidement dans un texte ou de retrouver @@ -2095,8 +2129,8 @@ une définition. </div> </div> -<div id="outline-container-org3cca8c2" class="outline-3"> -<h3 id="org3cca8c2"><span class="section-number-3">1.49</span> Origami</h3> +<div id="outline-container-org5aae76c" class="outline-3"> +<h3 id="org5aae76c"><span class="section-number-3">1.49</span> Origami</h3> <div class="outline-text-3" id="text-1-49"> <p> Mode permettant le pliage (<i>folding</i>) de régions @@ -2109,8 +2143,8 @@ Mode permettant le pliage (<i>folding</i>) de régions </div> </div> -<div id="outline-container-org87f9e64" class="outline-3"> -<h3 id="org87f9e64"><span class="section-number-3">1.50</span> IBuffer</h3> +<div id="outline-container-orgb0b9754" class="outline-3"> +<h3 id="orgb0b9754"><span class="section-number-3">1.50</span> IBuffer</h3> <div class="outline-text-3" id="text-1-50"> <p> Un meilleur gestionnaire de <i>buffers</i>. @@ -2177,8 +2211,8 @@ Un meilleur gestionnaire de <i>buffers</i>. </div> </div> -<div id="outline-container-org391a346" class="outline-3"> -<h3 id="org391a346"><span class="section-number-3">1.51</span> WGrep</h3> +<div id="outline-container-org1f7363c" class="outline-3"> +<h3 id="org1f7363c"><span class="section-number-3">1.51</span> WGrep</h3> <div class="outline-text-3" id="text-1-51"> <p> Permet de modifier le résultat d'un <code>grep</code> (donc simultanément dans @@ -2230,8 +2264,8 @@ voir <a href="https://github.com/emacsmirror/emacswiki.org/blob/master/wgrep.el" </div> </div> -<div id="outline-container-orge82a5ae" class="outline-3"> -<h3 id="orge82a5ae"><span class="section-number-3">1.52</span> PDF tools</h3> +<div id="outline-container-org86f0d10" class="outline-3"> +<h3 id="org86f0d10"><span class="section-number-3">1.52</span> PDF tools</h3> <div class="outline-text-3" id="text-1-52"> <p> Outils d'édition de <code>PDF</code> dans Emacs @@ -2256,8 +2290,8 @@ Outils d'édition de <code>PDF</code> dans Emacs </div> </div> -<div id="outline-container-org954b49a" class="outline-3"> -<h3 id="org954b49a"><span class="section-number-3">1.53</span> AutoYASnippet</h3> +<div id="outline-container-org23cd4ac" class="outline-3"> +<h3 id="org23cd4ac"><span class="section-number-3">1.53</span> AutoYASnippet</h3> <div class="outline-text-3" id="text-1-53"> <p> Outil de création rapide de snipets. @@ -2271,8 +2305,8 @@ Voir la documentation en ligne <a href="https://github.com/abo-abo/auto-yasnippe </div> </div> -<div id="outline-container-org23009f4" class="outline-3"> -<h3 id="org23009f4"><span class="section-number-3">1.54</span> Divers</h3> +<div id="outline-container-orgafb17d7" class="outline-3"> +<h3 id="orgafb17d7"><span class="section-number-3">1.54</span> Divers</h3> <div class="outline-text-3" id="text-1-54"> <p> Quelques réglages utilitaires @@ -2289,8 +2323,8 @@ Quelques réglages utilitaires </div> </div> -<div id="outline-container-org087b80d" class="outline-3"> -<h3 id="org087b80d"><span class="section-number-3">1.55</span> Keyfreq</h3> +<div id="outline-container-org43bda89" class="outline-3"> +<h3 id="org43bda89"><span class="section-number-3">1.55</span> Keyfreq</h3> <div class="outline-text-3" id="text-1-55"> <p> Enregistre la fréquence d'utilisation de commandes. Pour obtenir les @@ -2308,8 +2342,8 @@ statistiques, utiliser la commande <code>M-x keyfreq-show</code> </div> </div> -<div id="outline-container-orgd529ff5" class="outline-3"> -<h3 id="orgd529ff5"><span class="section-number-3">1.56</span> Dictionnaire et césures</h3> +<div id="outline-container-org4d6bbd2" class="outline-3"> +<h3 id="org4d6bbd2"><span class="section-number-3">1.56</span> Dictionnaire et césures</h3> <div class="outline-text-3" id="text-1-56"> <div class="org-src-container"> <pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">dictionary</span> @@ -2322,12 +2356,12 @@ statistiques, utiliser la commande <code>M-x keyfreq-show</code> </div> </div> -<div id="outline-container-org9ab3d20" class="outline-2"> -<h2 id="org9ab3d20"><span class="section-number-2">2</span> Annexes</h2> +<div id="outline-container-org96b1626" class="outline-2"> +<h2 id="org96b1626"><span class="section-number-2">2</span> Annexes</h2> <div class="outline-text-2" id="text-2"> </div> -<div id="outline-container-org7e25936" class="outline-3"> -<h3 id="org7e25936"><span class="section-number-3">2.1</span> Génération de toute la documentation</h3> +<div id="outline-container-org109ded0" class="outline-3"> +<h3 id="org109ded0"><span class="section-number-3">2.1</span> Génération de toute la documentation</h3> <div class="outline-text-3" id="text-2-1"> <p> On génère la documentation <code>HTML</code> et <code>PDF</code> de cette configuration à partir @@ -2352,7 +2386,7 @@ de tous les fichier <code>.org</code> du répertoire de configuration Emacs. </div> </div> <div id="postamble" class="status"> -<p class="date">Created: 2020-05-18 lun. 22:48</p> +<p class="date">Created: 2020-06-24 mer. 00:13</p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> </div> </body> diff --git a/Configuration.org b/Configuration.org index e7219d0..87a85df 100644 --- a/Configuration.org +++ b/Configuration.org @@ -783,6 +783,16 @@ Charge les langages disponibles pour org-mode #+END_SRC ** Parenthèses +Gestion intelligente des parenthèses. + +*Attention* les guillemets sont automatiquement échappés à l'intérieur +de chaînes de caractères, ce qui peut être gênant pour l'utilisateur +non averti. Pour couper une chaîne en deux morceaux, utiliser alors le +raccourci suivant. +| Raccourci | Description | +|-----------+---------------------------------------| +| ~C-"~ | Coupe la chaîne de caractères en deux | + #+BEGIN_SRC emacs-lisp (use-package smartparens :ensure t @@ -790,7 +800,9 @@ Charge les langages disponibles pour org-mode :custom (sp-escape-quotes-after-insert nil) :config - (require 'smartparens-config)) + (require 'smartparens-config) + (global-set-key (kbd "C-\"") 'sp-split-sexp) + ) (show-paren-mode t) (setq show-paren-style 'mixed) diff --git a/Configuration.pdf b/Configuration.pdf index 13751250b1925273860bc9e478dec158ceefe8c3..ddb6bddda3818906501b2dfcab7140b12f343188 100644 GIT binary patch delta 23390 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 delta 22639 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%0A)s>+Jq}&SA;>_d?*z;RBUh`q#<$S$wNC zHYl#!`)g<6_X|C82USw~#48#aHUvIrXHlE<;Enu+`Wb<Vb@N;223`-0+_sOIIjT5< z{rB4at=T=?r&ngJZQJ&CkKUb1-n6H(Vr2#gdR11py;yy2#gUZN$Hf?%S(To(-k8ql za5>>l^+u=ClGfCa`mF)?UisWDVmV!yViVSvdC@Cp%7nQ>{&R)+-KSQpxV$RJd3Ekv zp2d#a9)#^^oTgA;XM8RzZpqqI`L$D}&O{yUmMqQQJntJL^S5iy-e0N-obuQ}j^Wbs z85Nf%&O5-kxc!5N41a=KCHL{zmCO@)T&iSdw4ZiXV%-t`Md9AbMFmTejjFR|y}nx! z;1l#R<Eai`_O%O(Cq6PP3ox#jQhAX3Y}~0SO%EpQZ)0WOW9N{-u)3ao(}#=>+jsdt zHx%ltDad($=0Er4(#@TpxDBqSZ`Tuza{pMnCB!)-A!|PKh9r(a>zab2eA@%e8CXuN z^_Ta5m?L~Fm!)?3r%M}71<ZId_t)Jhw(xDILYf<U9W$i8l{fEQxHDkOpZX0m!W@c! zm1H~e9<GiMw-XS0J>&CT4tZ~m`ZnIJQ9*aM7Ubv7&fdLL=##{^2O@=weRr&!8WFAi z_sc)!f|dMf%!{5~(cSc^;_8?8ySz5@vd{LJv1FUTi>wvXS92-^U+|rpoK|beeZ*GL z@%tGw=K2WNLd%(tcP0b`bROn$t?kn+IO{Tr{npVdi`RR7vbFuK;$O>VX*%P~CpVsY z%RP54NB$GdshILiRiut5>CxJX?72DuAHqVnO!$ASBYToqihJXZ6XGxVJSQYZR<2qq z|2|~jVXLs)!B1DT7t4m)O&7KBS{v|n&%PNID>YBD&ONi|^qzeuFYT$bniA&pV)Bc7 zdyG<-iuH+gYn(l;b!yYz&l67zMXX%4Iks?hoqK$J@Yf8c^tIhf`@&X)%<MAHeGs<7 zKxtQf*oz0JI?@|{GAyk<{^ioGI(|v!IazNPt-Ds*df<h1)a)|Z%ire9+V0q7dbD)D z{kr3GuKwMs@Uiv{`@`)|ckAe`?!K#Lqq9JF=au|mo%<2BN1iOVcz12W$@dx31y76R zqA$yoJl=L?R#I`j%fb(fTHXqj%vyfc!gju=bl{`~yBF=)KSfMc<xhc?_CI5zf+*2W zso8&1cow?-PzapMwj_9wMt9g}m0Q!VteO9Cy2VZLNI`eW4~ebsu6~|4$I|n`UmHv5 zr+eQjANc*Ls{VO_8{bo*KTr54R*M*`J;+(1%k@{{C5sO0ELW?2vxVx*_>v~1txW&c zXTi2&U+CS47fY93NGbGuDe=$L_Wi$o6C8gtyg9=3;`Ebcx=(VWf7Hf`)}L{DSoc4B z-n#4COhc|7IakmokzAI2RVI0NsFdkn#pF9zFIv6LD?2WfwsCgtDy@$^oR4<@pUJxC zrl<*jN}%<En`e5mcZ<H;z0By%$*}s$-xa&g9KRJH=J54-H{Yc4(5-s=ckhf`b~V=a zc;UufozE0DItW-F>3w$8mt|T;ovpju>8-2OwlDGt@;R8wep^E<>AY~Tb)cBQn~M)Z ztuM}-_18~CB>6&uU#`o{mV1Hwij=E%vi5&lxIn<<PQIHuTYQ7X7WUZtx72PWIxT$2 zUGFBSyLgZP{#n<Hp4DCn6#Ka|?56YDQ}<R+OJy_5i%*s8^IWZQHS5<p0n=Bk{}L5` zGAdZkk?Jzx+1Qfx)YN(7@-%x9N5hByeJ;vJxSOu`9y!fhVIq|IAlaX-zBb$B`cY+< zqP518Z_bXF(tTC4X1(p+D5JUY7CX1R)7%`g^HOGg&96-YtoOdONE99NKDjsU!yBh! z#=;#M^VWTT-(S$RQ~&<D&s#PB7@nQ{=%T^f>qgg(p8I!-^U93n&vVZDtor^ua@PID zJFcZJ%q=dR*Z1gv^#ty6X8l6vMPh+-Lo*gC7aaCl_`-CX{ILUH_usY7`YS9RxzPXG zzOAfw`gdBY|Jq%u|2}_9mEEqVTkM0m`Fj*^hdbRqpPn*%<^P5A#G`Cw{4dKFt)2G3 z>G#=|CEMK0kGGz^G2y`H8}|~QF-uO~e0p1uIlt;#g%vx)1LtW(e`|02sdT)&JIcJg zyK?ELEq^E8WMc3;#l<o;G%KrR|4i?=VBslV{H8Bk`U}=gU^<<!`SC|R{V!K0gqGJb ztoVIQWyKz5E=g_6vi&a^F9)q?J!>w?n0bGfp^*ev=&5?f&nrB3g6r?b4Wi7376#ys z@Y!(h{5xg>``)its971~U^0Kvjp*(pdQD=vm-imE)DYS#wrHwZ)sb(i`}aEA=6GIP z_w=jSNk<jOiN^PN+VAsl-co2<7nX9VJ~HqH=OT|lADd1a*A4EHT-#Uk%X4-;xNq%Z zaNTZKZdl&KV7qU&y+L2zznXtoNwOovDf!uDXQleq<r@Ra?nkJ#&O3Kf=D?QEf9n|3 zM6`Ii_?eX(?q|1foZ@F{Rz351K0~!uFjteQeJk_tf7`#ldK8qkWaGCP?bi%H9jsV3 z;SpEy{Kcg$b{5xNCVlRIU9R24*>U`mnSqvBhSBGLS*)*LU)r%-;g3v?&+fI?yD~TX zIV+d!t~I%wQ(vw+`CNLj{QThM2JvxvjfXsbomeW8tr;y`XBZhN9&9n`JKL9QJ!x_e zL-gGp)ff)hbWc9(aqh6xdkg#K@>feLcJ}M*+1gnYEqoAVbmMNrkCR=qSz3?ueE<LU zq)-3SqkeB?nCcUk-MsOuG1c2?LHMJ*&ly?sHmv@=?56#!N*m+)UE)fXygL@G`(*SZ zE3Pr<%;Gl_?amzT47`$*_RS%N?TeFX(N5Oq+sguU_7-p8$*G^*5;`e8GU4#yr(Rae zHtj7ql&zN;dDx0Wen;X{iHhs{W9^sbzSQopubNS+ay;nd(k*Wp7yk5`J7pWYLHico z11mm>ecm?p5T~_n{{DN-=RehNJ6^M9>c6}_vW^cNLmc0*9{tPjaaVbnROaV>v(KOU zt+U<Sa7Fj7KO1Y!6jUB6YZ-{&YnfmX*0oh*Myj&YocPUW?#$fetCOt6td%BHb}5g2 znQU`x<h)Zk!7S5GMTvD=nXUe`%Sd<O(rKrf%4BX9@+H4&`Fbto`5ep81a)b_-ugN< z_U*^gnB=+U_BsCFl*RC2S-79nFO@5v&ENc4F3r5}+3qN6<0W_3eFI~6`;wo(f1S5a zyVCq}){nnR!Dml4R<F(6|Kz>-bmOE0Ed1|kwlDiA=)mh6TKZz)w;gIRIj`8`5B<;9 z^RT|f>N-{A?WH>NiXA!bD>ZM&hq+|*?(_7iH)NjbsB+3(#zNoh{4JTQYbPD5s=5B- znn>uqP}38ww<NW7k6*l-@TBILj^3Q@w-t0gK3a2ZX+I~+J4e4|0ldZ>cUm)jGdfRp z#w#<=IlRSfC;QJX-E-M7T5slCtetzH_53r_htB`(zS#=R+;Ofi_4&5E@?3-9<7<nq z-+B8fsZX)~q_THXYUk84U*$TJ&HdZY-<#cglIMtV%Z{sZOI}t6t0!GPQhLSDy)t6n z+5M`0I$4v~Fl`MmtusA;?X3H<Q&)WUUb}Ir@||nOV-?e<c8U4|F4CUgJeqZi@+X^c zH7m_hd&t^;Gt2&W*~R&nkDeFMo5pnho9GYzyj&*7_qO|7_toEJ+g-4R<6h32sZN&@ zert01JxEi(7ayQguhr{W`|Y2Mu=jS)(#LJ3fiu<=*<UTpneTcuLj1FV=)Ko@5px_m zOdn2ry42H`BWqQ1q-Nc+RadLmzfxKwusx4UrR4g?xle5yc6UGe|2i<&^j^sAk_8`* zS!K+Y+hyNu5VhcFZeL-Lvd@{o&d(wLR04gq4bE;<7n!nOsA$o<d+|AY#837AXIOM- zW$$FhOCrrl+uD=1F}5ddW7?jyjrq3~laV>-FbKYw$YN=8p}ObmXB_v<ojHBlM`p!( zCEuV^?+!1^F*9^ve(`VDMP8otl+raRsl96^trn^CY0CfM5}cW-z1FtoxEFiE<%LG4 zn0Bw!xf1zUOTE$m<*Az&E}sh5(_C?VYP(sslc-YMaxFIg`}@44j%{2OB*eD)T8LLB z?`98;iWy$Fy)tJm5Lo!Y=X_MgCC-_SR;xD%Xw^SW@Z<fg@qB?e&ze0`rn;r&JG%VP zke?`7!pWH><0GZq)8l(`#=LC?u3RUWe|hpYJ&HJ`Xq>ThBd6XLUMa2v&C1#A!oNAf zPssE%Y0t1=X@5JlPwVRfSuVMNqJY^dJ<K+4N@a1(Z7UKEFr8yQAu)luilKj-hFg;p z3qztqvQYgQz6%bD-`21TSM)x1(U8dTni?A6z%40onXOgpps3G7rdOgoVhx5jPQC76 zWp8CMYrI)|Wm~%AZ4KcQGD;DgF$dd1mOfZ0a5C-&?;a;l^@Z{s%TpMRZ)`BqNZG)* zfi2KM>;uzMrWx1OObWgBrC;2=g|Rv!KrDy*M#L8r<yeM#`zE;sTh#i4jzxytUvTu| z6S>^?i8jsGn0Xl&HZ1L^k%|t!WZOLN=@iBsht#J6F3oliFR1gr;QGguCE2}{VPCG! zuK<^12mJyi8Oghs7F$bwvCJ2FvGC;PJ#S{Vtb5AHEWE+Ap<ANFbN&Hl-Yk(NN3Jpz zv$U!fNQ#<Fky)dmQQs)z=XAf}akh(jM2vd^lZNHh>K_}_<Ng;0hd(-g(DknH@yV|% zYi;KrT)=tl_3C*Qq36}QUv8Lpan+Jl&%gf6_>l2wX_fxMLx-6-J?mc_6bOFd{Yl}z z{eREH_UrCNNBvo^_3_!;-KUn<vGh9g)E;?KWhhsF<A}7%$0qr22V2V@)t8?7cJRyY z4NN?>{NAbJaZ5w(8RqET6Lwf#^<#sO`i=<<Nv}$o?zM=W7VnB_(chwMe}G%U>5s)+ z9{<;sU*#Uu*93K5|2n;LtIXfB-4eGqc3*72b#%tvw?UuG%06yfuW0c05ckJ@{U6`o zV`#CP7#5JWdCQwmt;<V~h>Nv{l{4GcmpOiCZ<Z@#t`#qcs>o@25U_UbyNukY3!~Dx z-#p1u%`cmuaIp4~-<oqv>ptbF$E^;MpY&Dj!S)~b+$QIII@P@P!S1jP?9m6`CbC{{ zJZ*9R_}deDdrqCQOF2BZ!coK{zr6JSrHJnvUd(;NBwx;a?<L=dO#TPK*OxDT_1G^} zJnlyQf-i~jTRG3_=EX4GD0>{{u<yCSV<-0X=id%R%EZR|C#?9sWxiWvfpzcw>|o(| zf16o8=U;2~uC(iTe<Zk&M|^|zuZAEV$3GluL4thZ8|5D`Fhw7>%VV&0TR5fRZAqb7 zyW-K!7r&|(e)*v2tI*f>`QnqPIbHMPZI7P6ulM}(?E0JbEjuL6>WioUefY%dN_g|b zH(4fg{g%c2v-xH6%72;oqZ}Jc;qd00d**eW7r*>#S$zL~#-IGbjAh&Ywmk0;`E~BX zzCHN`%38_yt?Sig+0rMoe-LawTJz~a|G_s^CB?z#xg#%{&b@#4srSA0E`OpU=1#7) zQGatN+hm5(TQfbG`tJvL5Bcr!`n9k4Ro~1d9MNk-%U|63v}*UZOA8IpoW9E&^~uap zZnFCa>yL{zKawm|k1Lr{aDDF5-jasf#q<B!Wgd95x0#vi5EuLUm`Cq_Fa30_@aeSr z+|0cE+m2ZmCQLdNbb0@a|Ga<qf5;QBu@B+nV_vq<wU=|@`slC6+V-8AQvcfYjfB(G zElpDSI@dmP9JMgJWp|HbvdOa7?lUBt7cG*OF}$3juq5r(o_CLZ<?oj7jJZ~9$@V5y z<l2FoMV>R4=a@2<J~P^Wul1SX)vRfgteQQZNOj+0?@-v+b%5XKFvlvc4ZEAxC_9TP z_e~5a6TPSx$kgkgn5z&pBhEHVFnCM7m;<lfqkxb;w%vveidhn7Ro-(fwg$!NK23OK zSh#h=1EcHHS6Ft7Jz1#9^=wlx+p<Pmqg&J69{lRzzOH`x`_8ttQ-6#7Im4VOxpjMp z+V81rd!(it+j|Ci%{#90Q#9cECG*GkT<2>%I&U%Er1`8!T5fZ!Q(REn{?wL3B0BM& z!u2w_CEKc-b=LYGnyZ<8+Qg-KZA;xURxYs`w)|7aqE(Xj^^|m$dv=Rnc@@1NE+}q) zW$UE#>=%w~-+13)YDi(`luI(IsR_HL^hT^}_YKkP)_A%#B5FzUT!qZFnX{)|$X~8g zU3P4$r@{u;86khSCjRJtxASH|kk^^+(^Gk8iacV`SfjCrm8tN=q{#<oH8W3NE+lg? zYAM6YLr=@Nm*1VCSu`d080(p*rwhxbNBm%xm1{m&^~mI6Vto_yWa%{7JBdd^dfb#h zb5x4W{nY1RI(_mFX1)5HWS*_kb7n@{x~MeUpIZ2oLAX0nWs<$cmHtc<wvCFX7&+?C zXBN3eo`2e~|67WjaAw*f%hglXvK7Z#-ip=eKRhK}b0u$;ru4m!4SzIGZj)NuIPbCI z;+w~!6WCuG&HvcdlzV3H=XZgXpBlETTK=z+?eT@Q7WuOWYFs|He|q}Br`}d#O-tkH zi0DI87u)k@>CRfGBi*?!;8V&3RqNkeGG@W=qCXh-d%iGIyEr3d$0pIK4~2r~?S3t$ zvHMdUt66X@_X8ej#=6sL%iqj3Fqq0P-C%l&rT@+9&XUiaa_0L}?lB#omR!gi=%2ZF zO=hO9spXdau2Rpk3v@5&W^N3KQl4U?AwFe#=DgW4v-1|-TU0n*%~Ox>#}qLQ&7`2Z z8*xiF=P%lD)oAsqwMiQqrv?>C%4`dsvZLF@^Rz%f+l*_|fB$6GsV`qx>2uVbea_M) zeA`Z+eRENL$pkHffW=b{FE)pM?mGBo#uCLk6aIf6UY#(Xe5AQ~`PJnrH8;-)-PB#Q zIM--e;pQBv@D#bI8#X(GCT@G9!+FtRU&Nw=sq6F$i~IQWOia{v#2iweF=vr9TiMNd zfeWknUm87=+7|jQ@`G`It1i>BdbdR>dpAurd~6i#wYBw3Oxj7&wV#77_f(2kF6yyK zj=98Ra&d{oBhd@0cT`hfM6+p}IUqDmBuux>$)u7w`&2{vta4Go9~z7wmWRYW+Q(I# z6fX1Z^oMB*yGsv5ZxDYleYaEGno7$_&Fq_l@~lHIty(JT^~bx*V2b><u$P}^uL!EQ z5!c@#^kbc%!VJxxz;(P|*iH!vvsgJCIdya1X6EO~Oe&Mu?qu2Ii);Q*-@&)M(r1y4 zx987e(d!H+<@rqL4`%61P&@N)huVSlFEx7Zh@`8y8q0IUo?(^KaFe>d!KHWk(+4m7 z#HSkeNZwPZv}@RHvo>ghI>*nZmCOG`JUWoNu3lg8ahS}tAhlzY4yPaJ(Z6LR6mk6K zq;-|f9=6lw+{t^$lK(-{`%0L(wRK){%?h9N3fJ!b3EdT|n^zu<Z~U;)MW*poMX}q~ zQwJXirO7>(eW%%xHg8j?Vm&;4Yu<lz(o`tFp`yRy@j)*B?3T8L(qT0Qi)NRf$>fo( zmtJ&E*}`hUqVE^p%0GHIv9cv**^ZY5<%f$6<S()m{|@7AQ@eYp>2yr|qGM|<)`cpb zKcL#{zf>>UST17volWMqJASP>w(widYK6?BNjD$*$F80)^-+A=@vk`+vUks@2md?z z_UHqysC~7c-z~rX{$JgnKVQ~Px?ms|b4Kg5O#ch<`s3^Z$K_S}&p*<-Gj%7wZJ~+u zqxXFW9j8A&c((lOi$_I#()O2yEqJ%t25`1jTFLjgA71>ryO7s3pwMdl`npEe+rs%p z`q?5pMV2!jtuLz=Zhl$v>F1vuo1@3_BPL81EIHmD-Ysvrf7y+XljHsS;{W{p^5kOh z(x+@!r<h%3cJ{9?l)ACu<d#ckmv76f*f}|G-IcSqrsX~I;c?Z~I}+h@BxKFY<=-#9 z|2=uSy?tHxue}osC)eGox^TX+?&3kUGbf$DPPWb{zjE!^yTxZ0=gaS}sq?z^z;`L{ ztp(~*t^OAlZT0yTyj8IO$i@mKza!hfoH$neQRt2Njv0J)>reI^K3P#zuY2y`9MkYR z5&4JzIlLzy73rzb)ce0<=bH6LIo{N&t~>hm#V)qP{tfp!r2o9Fi>aSe-1#T=&Xvm- zpTykh5jXxg`$w+f%<FdyM2!ulYXvudOeoWQmQ-iCHrw#OjUe~O-9ME63H)ETeDXHd zKXzh2-u>LYIQ;xgrmD@XKHD1n1-Q1>|NgA|VaJAp{EsAWJY<b{<o?lXPS^EE;UC@h zoPFKpV<@5b%)9%-hTd4Sna|=MUACRM{GTk_ot!1-w@YchOJ0(GTt806Hd#4x_el>e zGq)nCZzA=ZCiXGbvHe#*V8tXOdC0WnS<B(+(>`Uc@A&ua<;#nc^BsRKUvGZAL&34! zC+tUkn~O=|(rWL|PWd~dRm_WGbHAKfev_Zw)kDH>-8weO3EYnJZp=R)^0K)1_}fQ0 zH_xXji|AY5y4tZkOQ!d3_aX=B2YZ7~&7R+1|L3JF!=G0>d8C~iVwU;vKKESB{l07E zURjUd)z_uY<mP_!(!4KkZ};n;VCLqVu^~sMEDBxv!Loj1%AtGzHcgg_R=(+fv%OAi zzs}>EM(5|~9(!C>*PU-VG0$QapLn?Z@vqZwFOqBBEA#W%c9#8t7xzkYbRV;AO0r$t zF7&;x@5#Qq95cUpCGY=N^y$-C?rl{U3Y)JsALWo#^oqFQapOz+FN0(58xFei^#;eR z%VquU#hCB6&%W|ISG`Eh-;&MI>enl_HU%%Wtmu6w#uG2bIpfZ|CZU5`C+<$EJ9sjo z@#TgV#`7nt4}3U0d48OIeUCwoC)<y{q;qTs<)-lRMc>`N_U+SC^LX7WuNGF?NzK3B zG*3nDtlh&&@;vq*r7Wd=j@}f}du^$^E9RN&Rym<_>W>XSn7`itFV|3_zWZBS$<%JW zWnUTOW8b}LKK3<dTNmT??$w*CtfXUWY(o{RqMaG%yxf+$iMKJau$GUBNBwe@ch3Ro zcG>%tMYeP191cmieerm|>4~oXEBmf5yvf&RXcKm9-4X38XEV}{YE3>>QKrr2%{}Q` z&QzYfw$`uC4>`R<CWNYfp0JREt*d@Yj_W2Tw~S8Fn;ma&-`Lo=>(jc|{RMva=M^MO zzVU7IRQ73d;k(|Q(hKEU`}KVH|M=|F`y;=4D?gg7{o=ugx81D``oEvOX<z?IuQ*Em zwqv%=W$}H7qSMy!TUR<KhkrY%_4BG!<AR69zy4n6^*XKoNqbd@?Z*s*)h|7towJ=9 zCQ!dvJpJXucatxcm>o9=ihS`eCm`mJmDT+Cb1%-`iB5jB?dEQCyKB$QUw>X6aAy4! zeU=mNubO<g_<DPF_m#cj8}%kdi=W)>q_QVN<<mDil~?!jBc^Mt@m}IR;eaXkghRC* zS8N;BcTd@;G)dDX=(}Rj_Z>Ucf?n;|<hfKkGqOYEy>tDNcZvnEOZv(eKWO!6efVc@ z#}!+%wcT5Gm$TREzg}DXC35-;?R&lHf0lauvvYa%?(}unS5@UXu1f<tro20vH+ODH zw922?%(nxAcJ*9&2U3xB-St()_Kms|Pu<A<=gz%OlsQOo;`?2bey^`EU-C&vHTaas zJLhH2Jlh4AZs~TZ|MBexPrQ8egOzzdwIu!-a=!X|_=QaQ?iy*idg)X5|M0DP=*v*^ znfqOv^3QhXX9hJ+?G~#)Z9jeAW_svPTYpi$d55#=4zK=M%zrjsHzV#s{yp*Y`a1cu z59iEL-ar5L9>W>;<8PaZxi#=K<u;sYeqqD0f7W)h6Q_^X@L2zj{MPQEb-MALL;Z*5 zb)Q5|&r`lJC)~<x{Y9qavMFo)E^j=0e@X0<a@{)h*{?JIRx2}|UOd}Y%lk^qMi+h& zzmM`8S>lzZUt?m~&uMCCVPs@#U|=wP9y5y+g1h}7Gm95zkh7tSo0Elsi;<(DftjV5 zv5BLTlZC0dp^>qfqnW9Nqn&~cK_#(V`aY?7=_MHohDOGq?NS=`s#8zrhlYwA`@Snz zbE!DjQdY0bm(5JNTSRVs(yHCB`Sc=F?FA?9!h{~TM+e?;b_%y!8T(zaxOk*7dqML5 zM$-#NW;i^$va&Ga9LxLn#h>ne{`=1I_ngh=e_iv^T)KVf6t9y(Sr63B!<NiwlniQ; zZS_rFJs~SXIEO2``AxIwVYT{=TTj&8FucLCjn9(7nos)pHRaR@?HrzJ0ZSHZ*4?eS z4t$4iB`m(7%+WvlcB1)4cR@Mb`E7R(m?_)1y=#a)F6Zudz$)?j2Hg{$5&UnowuwG8 z{1kbEV;k?oX+LFhB&wwnf7URXwY+uNl^~uNzTxf($r}o9jJB~S{;ZKS>#%LFpVQuZ zKrgX+qTP+q8w}r=4t@G5wMJfBvLUuT_DB|E-pu?1B{TEtSk2g8AAWVPJ@K)@-5~w5 zx}RCz*n~+R`&7xc?D*BR`z>b=olE+<Fz?{AgsRZmlxgQbZ!nG!J)!c(%;)x!N3+^= z5AWKb<umR4_k>%IEL)a-s*PYTV~lLEZFpJ#Sw~T4et6>B8>vtDa(I{d?{2!&YTGjR z&^_k}JNu@UI&um+Q{@l)C0!TLI~{E>^@?&!@F(FLoNuf)F;=q$TjnXnOe;@3zQKP& z?hQGgrF)ufT5a1+6Xz?&JY(4w!1GPO@1s_P@;6u4MMB?}^>gf={G>^SHIaYaSE(C` zI*I&#^&hPyBzX?WwcPbAD&+9K(Y)cepu|t!LvnK-Woe}9B=R46m!+}EYUYOBvkoz? z$#c0ew?!<<i~nTMJ*M0JPj#C&?4H#m*DT9*=v@}q?+tJAHcXkk$7%h6>70k&aaEg6 zTQAjeSF~)eov5JBQ?6=GZ&TL9a-pb<*DH=FyjizFT_?0&=FX+xf^Tg(Ii{5hy*j^f ziF!xqgzX9)j!w-l*b4a$$+cKy@H>_?w+XSBWjH$eG%pivG0rG<RB1jY!D5)P)bUT# zGwBw+jO&h9n%Lx7bkYQqL_c#RcDc529L;Tca74Cc$C22U2}f#MGLC3DDLhhi;(27~ z^zk^G(@FNN($>@Jv$k!?j^^+zoa^(^TC@1k^CRc4PZVw8u&n%?>vzv}#qSHp_9>{$ z%4*A)HnDXLr`y8xvumSVE_XSdpB4DEL+!Go%jXr07e$nge7q90)BAMrcfaL@zuI2E zysoo1=lcFxjJnfq?VEJ9BQXE{wkw~be3TotPVSxd>vU4q*H`D6r@39LKdQHJQ&o%9 z+X+iI%70<Ey<Kh*Brdzv<a77GfX}fG%XD<}J65h-^;$P7s#bGb%Z81WM=w3wFk{w& zUFX}D-u-^mY^UI)t-Ghb|MqUdzXi&cu{TSX$OXPMk^jHcFFEY%cCk{kYuUPce+7lr zI`b~bd3pK%(Hn)~8>Dq=zwMpztC8t;ea_47^+%@^v+dm;^=nz6&(EbRttQ_UJsG#; z@TKzkuczd>Sl>*4dEEbq#O-r)3YRU}Y<bS2%&vi7@mA8YjmA848(;T0q%X0$f7o5H z?2hD0yS$gn`M3OOSsHI$YLa>F*V?{iXLi|Lxwz%#>PXqMGydLOzBp3*>i_@m=S;n) z`7-04SM2+}7cVwVt-F2g;-abl{yMvRhizSTs<3TNw$z)*tuOaD8Am!t1W)hMkeI+K zzwg48t23US<=zzf;VXA<<k?W(AYZ>;ud{Bv&c60q%N2T$E(_iJS3R=y?)jJYFBUJz Wm>w>~BFAlFW@N#os_N?R#svU74anR8 diff --git a/Installation.html b/Installation.html index 7bae0a2..c85bed6 100644 --- a/Installation.html +++ b/Installation.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"> <head> -<!-- 2020-05-12 mar. 21:36 --> +<!-- 2020-06-24 mer. 00:13 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Installation</title> @@ -239,24 +239,24 @@ for the JavaScript code in this tag. <h2>Table des matières</h2> <div id="text-table-of-contents"> <ul> -<li><a href="#org59cb46e">1. Installation d'Emacs</a> +<li><a href="#orgd6ec181">1. Installation d'Emacs</a> <ul> -<li><a href="#org2ebd92c">1.1. Version proposée par la distribution</a></li> -<li><a href="#org4c39415">1.2. Préparation de l'installation</a></li> -<li><a href="#org9336e69">1.3. Nettoyage du système.</a></li> +<li><a href="#orge61a756">1.1. Version proposée par la distribution</a></li> +<li><a href="#org63f4f02">1.2. Préparation de l'installation</a></li> +<li><a href="#org1bbc91e">1.3. Nettoyage du système.</a></li> </ul> </li> -<li><a href="#org2aa79a0">2. Récupérer la configuration</a> +<li><a href="#orgbf44be5">2. Récupérer la configuration</a> <ul> -<li><a href="#orgeb6fef9">2.1. Sauvegarde de l'ancienne configuration</a></li> -<li><a href="#org16d40bf">2.2. Téléchargement de la configuration</a></li> +<li><a href="#org4d8abf5">2.1. Sauvegarde de l'ancienne configuration</a></li> +<li><a href="#orgdd3985f">2.2. Téléchargement de la configuration</a></li> </ul> </li> -<li><a href="#orgf805b29">3. Python</a></li> -<li><a href="#org5ac41b6">4. Global</a></li> -<li><a href="#orgdf4fd65">5. C++</a></li> -<li><a href="#orga3fab57">6. Chargement accéléré</a></li> -<li><a href="#orgd3f9dfb">7. Mise à jour</a></li> +<li><a href="#orgdc1f296">3. Python</a></li> +<li><a href="#orga6e0eda">4. Global</a></li> +<li><a href="#orgc91ca47">5. C++</a></li> +<li><a href="#orge2a467e">6. Chargement accéléré</a></li> +<li><a href="#orgd8f8555">7. Mise à jour</a></li> </ul> </div> </div> @@ -288,8 +288,8 @@ certain temps. Ce ne sera évidemment plus le cas par la suite. </div> -<div id="outline-container-org59cb46e" class="outline-2"> -<h2 id="org59cb46e"><span class="section-number-2">1</span> Installation d'Emacs</h2> +<div id="outline-container-orgd6ec181" class="outline-2"> +<h2 id="orgd6ec181"><span class="section-number-2">1</span> Installation d'Emacs</h2> <div class="outline-text-2" id="text-1"> <p> Pour que cette configuration fonctionne de manière optimale il faut @@ -303,8 +303,8 @@ des paquets ou l'installer manuellement. </p> </div> -<div id="outline-container-org2ebd92c" class="outline-3"> -<h3 id="org2ebd92c"><span class="section-number-3">1.1</span> Version proposée par la distribution</h3> +<div id="outline-container-orge61a756" class="outline-3"> +<h3 id="orge61a756"><span class="section-number-3">1.1</span> Version proposée par la distribution</h3> <div class="outline-text-3" id="text-1-1"> <p> Pour connaître la version du système on utilise la commande @@ -350,8 +350,8 @@ paragraphe suivant. </div> </div> -<div id="outline-container-org4c39415" class="outline-3"> -<h3 id="org4c39415"><span class="section-number-3">1.2</span> Préparation de l'installation</h3> +<div id="outline-container-org63f4f02" class="outline-3"> +<h3 id="org63f4f02"><span class="section-number-3">1.2</span> Préparation de l'installation</h3> <div class="outline-text-3" id="text-1-2"> <p> Pour installer Emacs manuellement (ce qui n'est pas recommandé), on @@ -406,8 +406,8 @@ On peut vérifier à nouveau que tout s'est bien passé en exécutant </div> </div> -<div id="outline-container-org9336e69" class="outline-3"> -<h3 id="org9336e69"><span class="section-number-3">1.3</span> Nettoyage du système.</h3> +<div id="outline-container-org1bbc91e" class="outline-3"> +<h3 id="org1bbc91e"><span class="section-number-3">1.3</span> Nettoyage du système.</h3> <div class="outline-text-3" id="text-1-3"> <p> Si une version d'Emacs était déjà installée, il est probable que des @@ -422,12 +422,12 @@ fonctionne de manière optimale, il convient de les supprimer. </div> </div> -<div id="outline-container-org2aa79a0" class="outline-2"> -<h2 id="org2aa79a0"><span class="section-number-2">2</span> Récupérer la configuration</h2> +<div id="outline-container-orgbf44be5" class="outline-2"> +<h2 id="orgbf44be5"><span class="section-number-2">2</span> Récupérer la configuration</h2> <div class="outline-text-2" id="text-2"> </div> -<div id="outline-container-orgeb6fef9" class="outline-3"> -<h3 id="orgeb6fef9"><span class="section-number-3">2.1</span> Sauvegarde de l'ancienne configuration</h3> +<div id="outline-container-org4d8abf5" class="outline-3"> +<h3 id="org4d8abf5"><span class="section-number-3">2.1</span> Sauvegarde de l'ancienne configuration</h3> <div class="outline-text-3" id="text-2-1"> <p> Si Emacs avait déjà été utilisé sur le compte de l'utilisateur, il a @@ -448,8 +448,8 @@ mv ~/.emacs* ~/sauvegarde.emacs-<span class="org-sh-quoted-exec">`date +%Y%m%d`< </div> </div> -<div id="outline-container-org16d40bf" class="outline-3"> -<h3 id="org16d40bf"><span class="section-number-3">2.2</span> Téléchargement de la configuration</h3> +<div id="outline-container-orgdd3985f" class="outline-3"> +<h3 id="orgdd3985f"><span class="section-number-3">2.2</span> Téléchargement de la configuration</h3> <div class="outline-text-3" id="text-2-2"> <p> Pour obtenir la configuration, il est préférable d'utiliser <code>git</code>, pour @@ -504,8 +504,8 @@ faut cependant installer quelques outils supplémentaires. </div> </div> -<div id="outline-container-orgf805b29" class="outline-2"> -<h2 id="orgf805b29"><span class="section-number-2">3</span> Python</h2> +<div id="outline-container-orgdc1f296" class="outline-2"> +<h2 id="orgdc1f296"><span class="section-number-2">3</span> Python</h2> <div class="outline-text-2" id="text-3"> <p> Pour utiliser correctement <code>Python</code> avec cette configuration, il faut @@ -551,8 +551,8 @@ Il convient évidemment de répondre <code>y</code> à cette question. </div> </div> -<div id="outline-container-org5ac41b6" class="outline-2"> -<h2 id="org5ac41b6"><span class="section-number-2">4</span> Global</h2> +<div id="outline-container-orga6e0eda" class="outline-2"> +<h2 id="orga6e0eda"><span class="section-number-2">4</span> Global</h2> <div class="outline-text-2" id="text-4"> <p> On recommande aussi d'installer les <code>ggtags</code>. @@ -565,8 +565,8 @@ On recommande aussi d'installer les <code>ggtags</code>. </div> </div> -<div id="outline-container-orgdf4fd65" class="outline-2"> -<h2 id="orgdf4fd65"><span class="section-number-2">5</span> C++</h2> +<div id="outline-container-orgc91ca47" class="outline-2"> +<h2 id="orgc91ca47"><span class="section-number-2">5</span> C++</h2> <div class="outline-text-2" id="text-5"> <p> Enfin, pour configurer correctement l'environnement de développement @@ -654,8 +654,8 @@ problème. </div> </div> -<div id="outline-container-orga3fab57" class="outline-2"> -<h2 id="orga3fab57"><span class="section-number-2">6</span> Chargement accéléré</h2> +<div id="outline-container-orge2a467e" class="outline-2"> +<h2 id="orge2a467e"><span class="section-number-2">6</span> Chargement accéléré</h2> <div class="outline-text-2" id="text-6"> <p> Après s'être assuré assuré que la configuration fonctionne @@ -683,8 +683,8 @@ transparence. </div> </div> -<div id="outline-container-orgd3f9dfb" class="outline-2"> -<h2 id="orgd3f9dfb"><span class="section-number-2">7</span> Mise à jour</h2> +<div id="outline-container-orgd8f8555" class="outline-2"> +<h2 id="orgd8f8555"><span class="section-number-2">7</span> Mise à jour</h2> <div class="outline-text-2" id="text-7"> <p> Pour mettre à jour la configuration, ne suffit pas (en général) de @@ -711,7 +711,7 @@ fermeture. </div> </div> <div id="postamble" class="status"> -<p class="date">Created: 2020-05-12 mar. 21:36</p> +<p class="date">Created: 2020-06-24 mer. 00:13</p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> </div> </body> diff --git a/Installation.pdf b/Installation.pdf index f43187651cf6b613ca5ed9e41bc2e47f175fe165..42c1a570582f6ee1acd7fc4cf35c66294f95c303 100644 GIT binary patch delta 118 zcmZqN$l17&v!R7?3sZS8r<sw7fq|j1fyMNOU?wR9cl+XCCJ|<53lld3OLIdbHy0OI kXE!5DQ)6Qj3u6N_S7Rd=R~HvkI|Um;O1A$BV`^sv02*~2@Bjb+ delta 118 zcmZqN$l17&v!R7?3sZS8r>UWlk)g4fiNW-SU?wR9cl+XCCJ|<5Lvv>*R|`jTLuU(T kCo^Y5OE(ucLvsUj6H_x&BWH6LI|Um;O1A$BV`^sv03xs+3IG5A diff --git a/Readme.html b/Readme.html index e042e6b..6ee6769 100644 --- a/Readme.html +++ b/Readme.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"> <head> -<!-- 2020-04-26 dim. 16:56 --> +<!-- 2020-06-24 mer. 00:13 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>‎</title> @@ -238,16 +238,16 @@ for the JavaScript code in this tag. <h2>Table des matières</h2> <div id="text-table-of-contents"> <ul> -<li><a href="#org78617bc">1. Installation</a></li> -<li><a href="#org8faeffe">2. Premiers pas avec Emacs</a></li> -<li><a href="#orgd95d782">3. Configuration</a></li> -<li><a href="#org5d41882">4. À propos de cette configuration</a></li> +<li><a href="#orgeedd195">1. Installation</a></li> +<li><a href="#orgf351dd7">2. Premiers pas avec Emacs</a></li> +<li><a href="#orgce4020e">3. Configuration</a></li> +<li><a href="#org5f77865">4. À propos de cette configuration</a></li> </ul> </div> </div> -<div id="outline-container-org78617bc" class="outline-2"> -<h2 id="org78617bc"><span class="section-number-2">1</span> Installation</h2> +<div id="outline-container-orgeedd195" class="outline-2"> +<h2 id="orgeedd195"><span class="section-number-2">1</span> Installation</h2> <div class="outline-text-2" id="text-1"> <p> Il est <b>plus que recommandé</b> de suivre le fichier <a href="Installation.html">Installation.org</a> pas à @@ -256,8 +256,8 @@ pas. </div> </div> -<div id="outline-container-org8faeffe" class="outline-2"> -<h2 id="org8faeffe"><span class="section-number-2">2</span> Premiers pas avec Emacs</h2> +<div id="outline-container-orgf351dd7" class="outline-2"> +<h2 id="orgf351dd7"><span class="section-number-2">2</span> Premiers pas avec Emacs</h2> <div class="outline-text-2" id="text-2"> <p> Emacs est bien plus qu'un éditeur de texte. C'est un véritable @@ -273,8 +273,8 @@ ainsi que quelques raccourcis. </div> </div> -<div id="outline-container-orgd95d782" class="outline-2"> -<h2 id="orgd95d782"><span class="section-number-2">3</span> Configuration</h2> +<div id="outline-container-orgce4020e" class="outline-2"> +<h2 id="orgce4020e"><span class="section-number-2">3</span> Configuration</h2> <div class="outline-text-2" id="text-3"> <p> La configuration utilisée est définie dans le fichier @@ -283,8 +283,8 @@ La configuration utilisée est définie dans le fichier </div> </div> -<div id="outline-container-org5d41882" class="outline-2"> -<h2 id="org5d41882"><span class="section-number-2">4</span> À propos de cette configuration</h2> +<div id="outline-container-org5f77865" class="outline-2"> +<h2 id="org5f77865"><span class="section-number-2">4</span> À propos de cette configuration</h2> <div class="outline-text-2" id="text-4"> <p> Cette configuration d'Emacs est grandement (et librement) inspirée de @@ -309,7 +309,7 @@ For a list of all posts and videos check out </div> </div> <div id="postamble" class="status"> -<p class="date">Created: 2020-04-26 dim. 16:56</p> +<p class="date">Created: 2020-06-24 mer. 00:13</p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> </div> </body> diff --git a/Readme.pdf b/Readme.pdf index b9e3850d185251ffbd848461463363554cecc34a..edf52d51ca1e339673dfde42576d8e94a962fab2 100644 GIT binary patch delta 115 zcmccjhvnWMmWC~i?1r3XMkWRZhQ@|Q(*+C}r4Zch#)gc)xt%S|EG!J1+zbre+}s?E h3=Iv<jm<614GkTQERCHVUCithYzQftUTDks769Un9VY+) delta 115 zcmccjhvnWMmWC~i?1r2sMrMX)re>xV(*+C}r4Zch#)gc)xt)#84NNUuEDS82o!p#F hOii4e4V^6v+?*XvEL=?tT`lbtYzQftUTDks761V79m4<s diff --git a/Tutoriel.html b/Tutoriel.html index f0381e3..ed8931c 100644 --- a/Tutoriel.html +++ b/Tutoriel.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"> <head> -<!-- 2020-05-18 lun. 22:50 --> +<!-- 2020-06-24 mer. 00:13 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Un court tutoriel pour Emacs</title> @@ -261,83 +261,83 @@ for the JavaScript code in this tag. <h2>Table des matières</h2> <div id="text-table-of-contents"> <ul> -<li><a href="#org2be679f">1. Historique</a></li> -<li><a href="#org1d99d8d">2. Lancement d'Emacs</a></li> -<li><a href="#org614d38b">3. Prise en main</a> +<li><a href="#org869ebc5">1. Historique</a></li> +<li><a href="#org68872fe">2. Lancement d'Emacs</a></li> +<li><a href="#orgc7deae7">3. Prise en main</a> <ul> -<li><a href="#orgd44495b">3.1. Interface</a> +<li><a href="#orgf445801">3.1. Interface</a> <ul> -<li><a href="#org323f75f">3.1.1. <i>Buffers</i></a></li> -<li><a href="#orgbe4b9fc">3.1.2. <i>Windows</i></a></li> -<li><a href="#orgca93f02">3.1.3. Cadre (<i>frames</i>)</a></li> -<li><a href="#org26d4376">3.1.4. <i>Modeline</i></a></li> -<li><a href="#org972859a">3.1.5. <i>Minibuffer</i></a></li> +<li><a href="#org46a35c2">3.1.1. <i>Buffers</i></a></li> +<li><a href="#org8c92c30">3.1.2. <i>Windows</i></a></li> +<li><a href="#orgee4ddad">3.1.3. Cadre (<i>frames</i>)</a></li> +<li><a href="#orgfd32851">3.1.4. <i>Modeline</i></a></li> +<li><a href="#org91ea2bf">3.1.5. <i>Minibuffer</i></a></li> </ul> </li> -<li><a href="#orgce768b1">3.2. Fonctions</a></li> +<li><a href="#org8780d52">3.2. Fonctions</a></li> </ul> </li> -<li><a href="#orgc625f1d">4. Quelques raccourcis</a> +<li><a href="#org8f3fce7">4. Quelques raccourcis</a> <ul> -<li><a href="#org1f96cdd">4.1. Commandes générales</a></li> -<li><a href="#org72d5e40">4.2. <i>minibuffer</i></a></li> -<li><a href="#org8deb867">4.3. Obtenir de l'aide</a></li> -<li><a href="#org95bba87">4.4. Naviguer dans un <i>buffer</i></a></li> -<li><a href="#org6049755">4.5. Marquer une zone d'un <i>buffer</i></a></li> -<li><a href="#org9ca06cf">4.6. Éditer le contenu d'un <i>buffer</i></a></li> -<li><a href="#org4450d64">4.7. Gestion des <i>buffers</i>, fenêtres et cadres</a> +<li><a href="#org9d38e18">4.1. Commandes générales</a></li> +<li><a href="#orga2ef81b">4.2. <i>minibuffer</i></a></li> +<li><a href="#orgd51d18e">4.3. Obtenir de l'aide</a></li> +<li><a href="#orga680db3">4.4. Naviguer dans un <i>buffer</i></a></li> +<li><a href="#orgf16bbc9">4.5. Marquer une zone d'un <i>buffer</i></a></li> +<li><a href="#org1990789">4.6. Éditer le contenu d'un <i>buffer</i></a></li> +<li><a href="#org9e4b697">4.7. Gestion des <i>buffers</i>, fenêtres et cadres</a> <ul> -<li><a href="#org26beedb">4.7.1. <i>buffers</i></a></li> -<li><a href="#orgd8a8b68">4.7.2. Fenêtres</a></li> -<li><a href="#orge033cb6">4.7.3. Cadres (<i>frames</i>)</a></li> +<li><a href="#orgb2c2cd9">4.7.1. <i>buffers</i></a></li> +<li><a href="#org94387d3">4.7.2. Fenêtres</a></li> +<li><a href="#org97e15a3">4.7.3. Cadres (<i>frames</i>)</a></li> </ul> </li> -<li><a href="#orgec061d1">4.8. Fichiers</a></li> -<li><a href="#org689ca28">4.9. Recherche</a></li> -<li><a href="#org1719564">4.10. Remplacement de texte</a></li> -<li><a href="#org1dd17bf">4.11. Répétitions et macros</a></li> -<li><a href="#org359ea17">4.12. Complétion</a></li> +<li><a href="#org5729d4e">4.8. Fichiers</a></li> +<li><a href="#org43a4f49">4.9. Recherche</a></li> +<li><a href="#orga5da18b">4.10. Remplacement de texte</a></li> +<li><a href="#org0024111">4.11. Répétitions et macros</a></li> +<li><a href="#orgddd4402">4.12. Complétion</a></li> </ul> </li> -<li><a href="#orgb38c6b9">5. Modes utiles</a> +<li><a href="#org57de87c">5. Modes utiles</a> <ul> -<li><a href="#org85a77ec">5.1. Modes utilitaires</a> +<li><a href="#orgb5d69cf">5.1. Modes utilitaires</a> <ul> -<li><a href="#org299ab84">5.1.1. Flyspell</a></li> -<li><a href="#orgb8ac90b">5.1.2. FlyCheck</a></li> +<li><a href="#org139711d">5.1.1. Flyspell</a></li> +<li><a href="#orgb20ac43">5.1.2. FlyCheck</a></li> </ul> </li> -<li><a href="#org0a809a7">5.2. Interfaces avec <code>git</code></a> +<li><a href="#orgf9f1df4">5.2. Interfaces avec <code>git</code></a> <ul> -<li><a href="#orga978231">5.2.1. GitGutter</a></li> -<li><a href="#org68812ce">5.2.2. Magit</a></li> +<li><a href="#org0e25d88">5.2.1. GitGutter</a></li> +<li><a href="#org3d16fd8">5.2.2. Magit</a></li> </ul> </li> -<li><a href="#org8d5b4a7">5.3. Rédaction de documents LaTeX</a> +<li><a href="#orgc611964">5.3. Rédaction de documents LaTeX</a> <ul> -<li><a href="#org4e90fde">5.3.1. AUCTeX</a></li> -<li><a href="#orgd98f721">5.3.2. RefTeX</a></li> +<li><a href="#orgfdc1933">5.3.1. AUCTeX</a></li> +<li><a href="#org8511167">5.3.2. RefTeX</a></li> </ul> </li> -<li><a href="#orga0ef5ce">5.4. Programmation</a> +<li><a href="#orgfd5d7e0">5.4. Programmation</a> <ul> -<li><a href="#orgbb24790">5.4.1. Python</a></li> -<li><a href="#orgb037ab3">5.4.2. C++</a></li> -<li><a href="#org5c0526c">5.4.3. Tags</a></li> -<li><a href="#orgd6806dd">5.4.4. YASnippet</a></li> +<li><a href="#org194da7d">5.4.1. Python</a></li> +<li><a href="#org57883d5">5.4.2. C++</a></li> +<li><a href="#orgada33ae">5.4.3. Tags</a></li> +<li><a href="#org020062b">5.4.4. YASnippet</a></li> </ul> </li> </ul> </li> -<li><a href="#org6164b25">6. Pour aller plus loin</a> +<li><a href="#org21bf50d">6. Pour aller plus loin</a> <ul> -<li><a href="#org43d2f7f">6.1. Org-mode</a></li> -<li><a href="#orgaaac2c9">6.2. Pliage et dépliage avec <code>narrow-or-widen-dwim</code></a></li> -<li><a href="#org0f216ea">6.3. Autres modes installés</a></li> -<li><a href="#org37ac941">6.4. Personnalisation</a> +<li><a href="#orgd666de1">6.1. Org-mode</a></li> +<li><a href="#org1963ec6">6.2. Pliage et dépliage avec <code>narrow-or-widen-dwim</code></a></li> +<li><a href="#org2c2ce3e">6.3. Autres modes installés</a></li> +<li><a href="#org8f33136">6.4. Personnalisation</a> <ul> -<li><a href="#orgb424652">6.4.1. custom.el</a></li> -<li><a href="#orgff3fdb7">6.4.2. Emacs lisp</a></li> +<li><a href="#org7aaea55">6.4.1. custom.el</a></li> +<li><a href="#org7324f5e">6.4.2. Emacs lisp</a></li> </ul> </li> </ul> @@ -347,8 +347,8 @@ for the JavaScript code in this tag. </div> -<div id="outline-container-org2be679f" class="outline-2"> -<h2 id="org2be679f"><span class="section-number-2">1</span> Historique</h2> +<div id="outline-container-org869ebc5" class="outline-2"> +<h2 id="org869ebc5"><span class="section-number-2">1</span> Historique</h2> <div class="outline-text-2" id="text-1"> <p> <a href="https://fr.wikipedia.org/wiki/Emacs">Emacs</a> (initialement pour <i><b>Editing MACroS</b> running on TECO</i>) fut créé @@ -369,8 +369,8 @@ Emacs est l'un des outils les plus utilisés pour le développement. </div> </div> -<div id="outline-container-org1d99d8d" class="outline-2"> -<h2 id="org1d99d8d"><span class="section-number-2">2</span> Lancement d'Emacs</h2> +<div id="outline-container-org68872fe" class="outline-2"> +<h2 id="org68872fe"><span class="section-number-2">2</span> Lancement d'Emacs</h2> <div class="outline-text-2" id="text-2"> <p> Pour lancer Emacs, il suffit de taper la commande @@ -402,8 +402,8 @@ utiliser la configuration locale. </div> </div> -<div id="outline-container-org614d38b" class="outline-2"> -<h2 id="org614d38b"><span class="section-number-2">3</span> Prise en main</h2> +<div id="outline-container-orgc7deae7" class="outline-2"> +<h2 id="orgc7deae7"><span class="section-number-2">3</span> Prise en main</h2> <div class="outline-text-2" id="text-3"> <p> La prise en main d'Emacs n'est pas difficile pour une utilisation @@ -435,8 +435,8 @@ puis sur la touche <code>t</code> seulement. </p> </div> -<div id="outline-container-orgd44495b" class="outline-3"> -<h3 id="orgd44495b"><span class="section-number-3">3.1</span> Interface</h3> +<div id="outline-container-orgf445801" class="outline-3"> +<h3 id="orgf445801"><span class="section-number-3">3.1</span> Interface</h3> <div class="outline-text-3" id="text-3-1"> <p> Globalement, l'interface d'Emacs est assez intuitive, mais elle a @@ -447,8 +447,8 @@ concepts ne sont donc pas si communs de nos jours. </p> </div> -<div id="outline-container-org323f75f" class="outline-4"> -<h4 id="org323f75f"><span class="section-number-4">3.1.1</span> <i>Buffers</i></h4> +<div id="outline-container-org46a35c2" class="outline-4"> +<h4 id="org46a35c2"><span class="section-number-4">3.1.1</span> <i>Buffers</i></h4> <div class="outline-text-4" id="text-3-1-1"> <p> Un <i>buffer</i> est une zone tampon et la plus petite unité d'édition. Il @@ -457,21 +457,21 @@ correspond en général à la vue d'un fichier édité. </div> </div> -<div id="outline-container-orgbe4b9fc" class="outline-4"> -<h4 id="orgbe4b9fc"><span class="section-number-4">3.1.2</span> <i>Windows</i></h4> +<div id="outline-container-org8c92c30" class="outline-4"> +<h4 id="org8c92c30"><span class="section-number-4">3.1.2</span> <i>Windows</i></h4> <div class="outline-text-4" id="text-3-1-2"> <p> Il est possible de visualiser plusieurs <i>buffers</i> simultanément dans Emacs. Chaque vue est appelée <b>fenêtre</b>. Attention, dans le jargon Emacs, une fenêtre n'est pas à confondre avec les fenêtres gérées par le <i>window-manager</i> de l'interface graphique (voir -figure <a href="#org29d03f9">1</a>, où un <a href="#org377f4ae">cadre</a> Emacs est découpé en trois +figure <a href="#orgf981b03">1</a>, où un <a href="#org8bc4c25">cadre</a> Emacs est découpé en trois fenêtres). On peut afficher un <b>même</b> <i>buffer</i> dans différentes fenêtres et il peut être modifié dans n'importe laquelle de ses vues. </p> -<div id="org29d03f9" class="figure"> +<div id="orgf981b03" class="figure"> <p><img src="emacs-windows.png" alt="emacs-windows.png" /> </p> <p><span class="figure-number">Figure 1 : </span>Trois fenêtres affichées dans Emacs</p> @@ -479,8 +479,8 @@ et il peut être modifié dans n'importe laquelle de ses vues. </div> </div> -<div id="outline-container-orgca93f02" class="outline-4"> -<h4 id="orgca93f02"><span class="section-number-4">3.1.3</span> <a id="org377f4ae"></a> Cadre (<i>frames</i>)</h4> +<div id="outline-container-orgee4ddad" class="outline-4"> +<h4 id="orgee4ddad"><span class="section-number-4">3.1.3</span> <a id="org8bc4c25"></a> Cadre (<i>frames</i>)</h4> <div class="outline-text-4" id="text-3-1-3"> <p> Lorsqu'il est exécuté en mode graphique, une même instance d'Emacs @@ -489,7 +489,7 @@ de plusieurs fenêtres du gestionnaire graphique. </p> <p> -Dans l'exemple de la figure <a href="#orgda8e431">2</a>, il s'agit bien de la même +Dans l'exemple de la figure <a href="#org845de59">2</a>, il s'agit bien de la même instance d'Emacs : on a lancé un seul exécutable, mais on a ouvert un cadre (<i>frame</i>) supplémentaire. Dans chacun des cadres, on affiche une vue d'un <b>même</b> <i>buffer</i> d'édition, c'est-à-dire que le <b>même</b> <i>buffer</i> peut @@ -497,7 +497,7 @@ vue d'un <b>même</b> <i>buffer</i> d'édition, c'est-à-dire que le <b>même</b </p> -<div id="orgda8e431" class="figure"> +<div id="org845de59" class="figure"> <p><img src="emacs-frames.png" alt="emacs-frames.png" /> </p> <p><span class="figure-number">Figure 2 : </span>Deux cadres (<i>frames</i>) Emacs affichant le même <i>buffer</i></p> @@ -505,20 +505,20 @@ vue d'un <b>même</b> <i>buffer</i> d'édition, c'est-à-dire que le <b>même</b </div> </div> -<div id="outline-container-org26d4376" class="outline-4"> -<h4 id="org26d4376"><span class="section-number-4">3.1.4</span> <i>Modeline</i></h4> +<div id="outline-container-orgfd32851" class="outline-4"> +<h4 id="orgfd32851"><span class="section-number-4">3.1.4</span> <i>Modeline</i></h4> <div class="outline-text-4" id="text-3-1-4"> <p> Dans Emacs, chaque <i>buffer</i> est délimité <b>en bas</b> par la <i>modeline</i>. Il s'agit d'une zone dans laquelle sont affichées divers informations quant au mode de fonctionnement d'Emacs dans son <i>buffer</i>. On la voit en -action sur la figure <a href="#org9d1dc4f">3</a>, le mode majeur est <code>CMake</code>, le +action sur la figure <a href="#org108821f">3</a>, le mode majeur est <code>CMake</code>, le fichier édité s'appelle <code>CMakeList.txt</code>, enfin, on travaille sur la branche <code>develop</code>. </p> -<div id="org9d1dc4f" class="figure"> +<div id="org108821f" class="figure"> <p><img src="emacs-modeline.png" alt="emacs-modeline.png" /> </p> <p><span class="figure-number">Figure 3 : </span>La <i>modeline</i>. Ici on voit qu'on est en mode <code>CMake</code>, que le fichier édité s'appelle <code>CMakeList.txt</code> et qu'on travaille sur la branche <code>develop</code>.</p> @@ -526,21 +526,21 @@ branche <code>develop</code>. </div> </div> -<div id="outline-container-org972859a" class="outline-4"> -<h4 id="org972859a"><span class="section-number-4">3.1.5</span> <i>Minibuffer</i></h4> +<div id="outline-container-org91ea2bf" class="outline-4"> +<h4 id="org91ea2bf"><span class="section-number-4">3.1.5</span> <i>Minibuffer</i></h4> <div class="outline-text-4" id="text-3-1-5"> <p> Le <i>minibuffer</i> est un <i>buffer</i> spécial d'Emacs. C'est la zone d'interaction avec l'utilisateur. C'est là qu'on doit répondre aux éventuelles questions d'Emacs et c'est là qu'on tape les commandes. Il faut donc le garder constamment à l'oeil. Voir la -figure <a href="#org014f5b6">4</a> (ici une exécution de <code>grep</code> dans Emacs en +figure <a href="#org7d094d5">4</a> (ici une exécution de <code>grep</code> dans Emacs en préparation). Pour exécuter une commande dans le <i>minibuffer</i> il faut taper <code>M-x</code>. </p> -<div id="org014f5b6" class="figure"> +<div id="org7d094d5" class="figure"> <p><img src="emacs-minibuffer.png" alt="emacs-minibuffer.png" /> </p> <p><span class="figure-number">Figure 4 : </span>Le <i>minibuffer</i> en action. Préparation de l'exécution d'une commande <code>grep</code> dans Emacs.</p> @@ -549,8 +549,8 @@ taper <code>M-x</code>. </div> </div> -<div id="outline-container-orgce768b1" class="outline-3"> -<h3 id="orgce768b1"><span class="section-number-3">3.2</span> Fonctions</h3> +<div id="outline-container-org8780d52" class="outline-3"> +<h3 id="org8780d52"><span class="section-number-3">3.2</span> Fonctions</h3> <div class="outline-text-3" id="text-3-2"> <p> Dans Emacs, tout est fonction. Et toute fonction peut-être redéfinie @@ -580,8 +580,8 @@ plutôt que simplement interprété ont corrigé ce défaut. </div> </div> -<div id="outline-container-orgc625f1d" class="outline-2"> -<h2 id="orgc625f1d"><span class="section-number-2">4</span> Quelques raccourcis</h2> +<div id="outline-container-org8f3fce7" class="outline-2"> +<h2 id="org8f3fce7"><span class="section-number-2">4</span> Quelques raccourcis</h2> <div class="outline-text-2" id="text-4"> <p> On présente dans cette partie certains raccourcis utiles. Lorsque les @@ -619,8 +619,8 @@ contextuelle. </p> </div> -<div id="outline-container-org1f96cdd" class="outline-3"> -<h3 id="org1f96cdd"><span class="section-number-3">4.1</span> Commandes générales</h3> +<div id="outline-container-org9d38e18" class="outline-3"> +<h3 id="org9d38e18"><span class="section-number-3">4.1</span> Commandes générales</h3> <div class="outline-text-3" id="text-4-1"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> @@ -666,8 +666,8 @@ contextuelle. </div> </div> -<div id="outline-container-org72d5e40" class="outline-3"> -<h3 id="org72d5e40"><span class="section-number-3">4.2</span> <i>minibuffer</i></h3> +<div id="outline-container-orga2ef81b" class="outline-3"> +<h3 id="orga2ef81b"><span class="section-number-3">4.2</span> <i>minibuffer</i></h3> <div class="outline-text-3" id="text-4-2"> <p> Lors d'une interaction avec le <i>minibuffer</i>, on a accès à certains @@ -715,8 +715,8 @@ exemple) </div> </div> -<div id="outline-container-org8deb867" class="outline-3"> -<h3 id="org8deb867"><span class="section-number-3">4.3</span> Obtenir de l'aide</h3> +<div id="outline-container-orgd51d18e" class="outline-3"> +<h3 id="orgd51d18e"><span class="section-number-3">4.3</span> Obtenir de l'aide</h3> <div class="outline-text-3" id="text-4-3"> <p> On peut lancer l'aide en tapant <code>C-h</code> et en suivant les indications du @@ -761,8 +761,8 @@ On peut lancer l'aide en tapant <code>C-h</code> et en suivant les indications d </div> </div> -<div id="outline-container-org95bba87" class="outline-3"> -<h3 id="org95bba87"><span class="section-number-3">4.4</span> Naviguer dans un <i>buffer</i></h3> +<div id="outline-container-orga680db3" class="outline-3"> +<h3 id="orga680db3"><span class="section-number-3">4.4</span> Naviguer dans un <i>buffer</i></h3> <div class="outline-text-3" id="text-4-4"> <p> Au delà des flèches et autres touches usuelles du clavier, Emacs @@ -858,8 +858,8 @@ flèches). </div> </div> -<div id="outline-container-org6049755" class="outline-3"> -<h3 id="org6049755"><span class="section-number-3">4.5</span> Marquer une zone d'un <i>buffer</i></h3> +<div id="outline-container-orgf16bbc9" class="outline-3"> +<h3 id="orgf16bbc9"><span class="section-number-3">4.5</span> Marquer une zone d'un <i>buffer</i></h3> <div class="outline-text-3" id="text-4-5"> <p> Une zone est délimitée par une une <b>marque</b> (position de départ) et la @@ -912,8 +912,8 @@ fonction par exemple, ce qui permet de facilement les sélectionner. </div> </div> -<div id="outline-container-org9ca06cf" class="outline-3"> -<h3 id="org9ca06cf"><span class="section-number-3">4.6</span> Éditer le contenu d'un <i>buffer</i></h3> +<div id="outline-container-org1990789" class="outline-3"> +<h3 id="org1990789"><span class="section-number-3">4.6</span> Éditer le contenu d'un <i>buffer</i></h3> <div class="outline-text-3" id="text-4-6"> <p> Le commandes citées ici concernent essentiellement les <b>modes</b> d'édition @@ -1057,17 +1057,17 @@ plutôt que de remplacer le texte <i>en ligne</i> comme le fait la version de base, on y accède dans le <i>minibuffer</i>. On peut alors le parcourir, soit en continuant à presser <code>M-y</code>, soit en utilisant les flèches du clavier, soit même en entrant les une partie du texte comme pour les -<a href="#orgeaa6072">recherches</a>. +<a href="#orgd791208">recherches</a>. </p> </div> </div> -<div id="outline-container-org4450d64" class="outline-3"> -<h3 id="org4450d64"><span class="section-number-3">4.7</span> Gestion des <i>buffers</i>, fenêtres et cadres</h3> +<div id="outline-container-org9e4b697" class="outline-3"> +<h3 id="org9e4b697"><span class="section-number-3">4.7</span> Gestion des <i>buffers</i>, fenêtres et cadres</h3> <div class="outline-text-3" id="text-4-7"> </div> -<div id="outline-container-org26beedb" class="outline-4"> -<h4 id="org26beedb"><span class="section-number-4">4.7.1</span> <i>buffers</i></h4> +<div id="outline-container-orgb2c2cd9" class="outline-4"> +<h4 id="orgb2c2cd9"><span class="section-number-4">4.7.1</span> <i>buffers</i></h4> <div class="outline-text-4" id="text-4-7-1"> <p> Dans cette configuration, on utilise le paquet <code>IBuffer</code> à la place du @@ -1136,8 +1136,8 @@ Emacs invite l'utilisateur à le faire. </div> </div> -<div id="outline-container-orgd8a8b68" class="outline-4"> -<h4 id="orgd8a8b68"><span class="section-number-4">4.7.2</span> Fenêtres</h4> +<div id="outline-container-org94387d3" class="outline-4"> +<h4 id="org94387d3"><span class="section-number-4">4.7.2</span> Fenêtres</h4> <div class="outline-text-4" id="text-4-7-2"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> @@ -1234,8 +1234,8 @@ Dans cette configuration, les raccourcis sont les suivants. </div> </div> -<div id="outline-container-orge033cb6" class="outline-4"> -<h4 id="orge033cb6"><span class="section-number-4">4.7.3</span> Cadres (<i>frames</i>)</h4> +<div id="outline-container-org97e15a3" class="outline-4"> +<h4 id="org97e15a3"><span class="section-number-4">4.7.3</span> Cadres (<i>frames</i>)</h4> <div class="outline-text-4" id="text-4-7-3"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> @@ -1272,8 +1272,8 @@ Dans cette configuration, les raccourcis sont les suivants. </div> </div> -<div id="outline-container-orgec061d1" class="outline-3"> -<h3 id="orgec061d1"><span class="section-number-3">4.8</span> Fichiers</h3> +<div id="outline-container-org5729d4e" class="outline-3"> +<h3 id="org5729d4e"><span class="section-number-3">4.8</span> Fichiers</h3> <div class="outline-text-3" id="text-4-8"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> @@ -1379,10 +1379,10 @@ Une fois un fichier ouvert, il est manipulé classiquement dans le </div> </div> -<div id="outline-container-org689ca28" class="outline-3"> -<h3 id="org689ca28"><span class="section-number-3">4.9</span> Recherche</h3> +<div id="outline-container-org43a4f49" class="outline-3"> +<h3 id="org43a4f49"><span class="section-number-3">4.9</span> Recherche</h3> <div class="outline-text-3" id="text-4-9"> -<table id="orgeaa6072" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> +<table id="orgd791208" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> @@ -1452,14 +1452,14 @@ l'occurrence.</li> <p> Une autre particularité intéressante de <code>swiper</code> est son utilisation de <code>SPC</code> qui sert de joker pendant les saisies. Voir par exemple, la -figure <a href="#org0986f20">5</a>, où on a lancé une recherche puis tapé +figure <a href="#orgbcaabf3">5</a>, où on a lancé une recherche puis tapé <code>y t x(</code> dans le <i>minibuffer</i>, les lignes correspondantes y sont affichées. On peut parcourir cette liste à l'aide des flèches du clavier, le <i>buffer</i> de recherche suit l'occurrence sélectionnée. </p> -<div id="org0986f20" class="figure"> +<div id="orgbcaabf3" class="figure"> <p><img src="emacs-swiper-search.png" alt="emacs-swiper-search.png" /> </p> <p><span class="figure-number">Figure 5 : </span>Exemple de recherche avec `swiper`</p> @@ -1474,8 +1474,8 @@ est possible d'ajouter des mots à la recherche en faisant à nouveau </div> </div> -<div id="outline-container-org1719564" class="outline-3"> -<h3 id="org1719564"><span class="section-number-3">4.10</span> Remplacement de texte</h3> +<div id="outline-container-orga5da18b" class="outline-3"> +<h3 id="orga5da18b"><span class="section-number-3">4.10</span> Remplacement de texte</h3> <div class="outline-text-3" id="text-4-10"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> @@ -1561,8 +1561,8 @@ suivants. </div> </div> -<div id="outline-container-org1dd17bf" class="outline-3"> -<h3 id="org1dd17bf"><span class="section-number-3">4.11</span> Répétitions et macros</h3> +<div id="outline-container-org0024111" class="outline-3"> +<h3 id="org0024111"><span class="section-number-3">4.11</span> Répétitions et macros</h3> <div class="outline-text-3" id="text-4-11"> <p> Il existe de nombreuses façons d'automatiser des actions dans Emacs. @@ -1671,8 +1671,8 @@ suffit de taper <code>M-x cmd</code>. </div> </div> -<div id="outline-container-org359ea17" class="outline-3"> -<h3 id="org359ea17"><span class="section-number-3">4.12</span> Complétion</h3> +<div id="outline-container-orgddd4402" class="outline-3"> +<h3 id="orgddd4402"><span class="section-number-3">4.12</span> Complétion</h3> <div class="outline-text-3" id="text-4-12"> <p> Emacs propose de nombreux moyens de compléter un mot afin d'accélérer @@ -1711,10 +1711,10 @@ En fait, cette configuration utilise <code>company</code> qui est un moteur de complétion plus souple et configurable. Le fonctionnement de <code>company</code> est très intuitif. En effet pendant la saisie de texte, si des complétion sont possibles, une fenêtre <i>pop-up</i> qui les propose apparaît -(voir figure <a href="#org85bf8de">6</a>). +(voir figure <a href="#org52d4d72">6</a>). </p> -<div id="org85bf8de" class="figure"> +<div id="org52d4d72" class="figure"> <p><img src="emacs-company.png" alt="emacs-company.png" /> </p> <p><span class="figure-number">Figure 6 : </span><i>Pop-up</i> présentant les complétions possibles</p> @@ -1757,8 +1757,8 @@ argument à l'autre en tapant <code>TAB</code> et <code>S-TAB</code> (suivant et </div> </div> -<div id="outline-container-orgb38c6b9" class="outline-2"> -<h2 id="orgb38c6b9"><span class="section-number-2">5</span> Modes utiles</h2> +<div id="outline-container-org57de87c" class="outline-2"> +<h2 id="org57de87c"><span class="section-number-2">5</span> Modes utiles</h2> <div class="outline-text-2" id="text-5"> <p> On présente ici quelques modes particulièrement utiles. La liste @@ -1774,12 +1774,12 @@ deviendrait inévitablement obsolète. </p> </div> -<div id="outline-container-org85a77ec" class="outline-3"> -<h3 id="org85a77ec"><span class="section-number-3">5.1</span> Modes utilitaires</h3> +<div id="outline-container-orgb5d69cf" class="outline-3"> +<h3 id="orgb5d69cf"><span class="section-number-3">5.1</span> Modes utilitaires</h3> <div class="outline-text-3" id="text-5-1"> </div> -<div id="outline-container-org299ab84" class="outline-4"> -<h4 id="org299ab84"><span class="section-number-4">5.1.1</span> Flyspell</h4> +<div id="outline-container-org139711d" class="outline-4"> +<h4 id="org139711d"><span class="section-number-4">5.1.1</span> Flyspell</h4> <div class="outline-text-4" id="text-5-1-1"> <p> Il s'agit d'un mode mineur qui vérifie l'orthographe (uniquement @@ -1819,8 +1819,8 @@ configuration locale. Par exemple en <code>Python</code>, on écrit </div> </div> -<div id="outline-container-orgb8ac90b" class="outline-4"> -<h4 id="orgb8ac90b"><span class="section-number-4">5.1.2</span> FlyCheck</h4> +<div id="outline-container-orgb20ac43" class="outline-4"> +<h4 id="orgb20ac43"><span class="section-number-4">5.1.2</span> FlyCheck</h4> <div class="outline-text-4" id="text-5-1-2"> <p> Ce mode mineur permet de vérifier la validité du code à la volée. Il @@ -1845,8 +1845,8 @@ localement dans un <i>buffer</i>, soit en utilisant la commande </div> </div> -<div id="outline-container-org0a809a7" class="outline-3"> -<h3 id="org0a809a7"><span class="section-number-3">5.2</span> Interfaces avec <code>git</code></h3> +<div id="outline-container-orgf9f1df4" class="outline-3"> +<h3 id="orgf9f1df4"><span class="section-number-3">5.2</span> Interfaces avec <code>git</code></h3> <div class="outline-text-3" id="text-5-2"> <p> Emacs possède différentes interfaces à <code>git</code>. Les deux plus abouties @@ -1858,8 +1858,8 @@ le mode <code>magit</code> à lui seul justifie l'utilisation d'Emacs. </p> </div> -<div id="outline-container-orga978231" class="outline-4"> -<h4 id="orga978231"><span class="section-number-4">5.2.1</span> GitGutter</h4> +<div id="outline-container-org0e25d88" class="outline-4"> +<h4 id="org0e25d88"><span class="section-number-4">5.2.1</span> GitGutter</h4> <div class="outline-text-4" id="text-5-2-1"> <p> Le principe de <code>GitGutter</code> est d'afficher (en marge de gauche) les @@ -1908,8 +1908,8 @@ commit <code>git</code> mais pour ce genre d'opérations, on préférera utilise </div> </div> -<div id="outline-container-org68812ce" class="outline-4"> -<h4 id="org68812ce"><span class="section-number-4">5.2.2</span> Magit</h4> +<div id="outline-container-org3d16fd8" class="outline-4"> +<h4 id="org3d16fd8"><span class="section-number-4">5.2.2</span> Magit</h4> <div class="outline-text-4" id="text-5-2-2"> <p> <code>Magit</code> est une superbe interface à <code>git</code> pour Emacs. Encore une fois, il @@ -2023,8 +2023,8 @@ ajouter (<i>stager</i>) en sélectionnant une zone. </div> </div> -<div id="outline-container-org8d5b4a7" class="outline-3"> -<h3 id="org8d5b4a7"><span class="section-number-3">5.3</span> Rédaction de documents LaTeX</h3> +<div id="outline-container-orgc611964" class="outline-3"> +<h3 id="orgc611964"><span class="section-number-3">5.3</span> Rédaction de documents LaTeX</h3> <div class="outline-text-3" id="text-5-3"> <p> La rédaction d'un document LaTeX s'apparente plus à de la @@ -2044,8 +2044,8 @@ qui ne sera pas abordé dans ce tutoriel. </p> </div> -<div id="outline-container-org4e90fde" class="outline-4"> -<h4 id="org4e90fde"><span class="section-number-4">5.3.1</span> AUCTeX</h4> +<div id="outline-container-orgfdc1933" class="outline-4"> +<h4 id="orgfdc1933"><span class="section-number-4">5.3.1</span> AUCTeX</h4> <div class="outline-text-4" id="text-5-3-1"> <p> <a href="https://www.gnu.org/software/auctex/?lang=fr">AUCTeX</a> est un ensemble de macros Emacs qui permet d'éditer facilement @@ -2062,7 +2062,7 @@ associée. </div> <ol class="org-ol"> -<li><a id="org1e5bfff"></a>Typographie<br /> +<li><a id="org4ca49c0"></a>Typographie<br /> <div class="outline-text-5" id="text-5-3-1-1"> <p> Pour les changements de styles typographiques, tous les raccourcis @@ -2216,7 +2216,7 @@ si on utilise la commande <code>C-u C-c C-f C-b</code>, il sera transformé e </div> </li> -<li><a id="org8567fa0"></a>Sections<br /> +<li><a id="org5ed5f7b"></a>Sections<br /> <div class="outline-text-5" id="text-5-3-1-2"> <p> AUCTeX propose moyen de créer les éléments structurants du document. @@ -2252,7 +2252,7 @@ explicites. On préférera utiliser le caractère <code>-</code> plutôt que <co </div> </li> -<li><a id="org47fae22"></a>Environnements<br /> +<li><a id="org55a34de"></a>Environnements<br /> <div class="outline-text-5" id="text-5-3-1-3"> <p> De la même manière, on écrit des environnements simplement en @@ -2293,7 +2293,7 @@ curseur est placé entre les balises. </div> </li> -<li><a id="org2f999c2"></a>Compilation et visualisation<br /> +<li><a id="org01eb469"></a>Compilation et visualisation<br /> <div class="outline-text-5" id="text-5-3-1-4"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> @@ -2430,8 +2430,8 @@ raccourcis utiles pour la visualisation. </ol> </div> -<div id="outline-container-orgd98f721" class="outline-4"> -<h4 id="orgd98f721"><span class="section-number-4">5.3.2</span> RefTeX</h4> +<div id="outline-container-org8511167" class="outline-4"> +<h4 id="org8511167"><span class="section-number-4">5.3.2</span> RefTeX</h4> <div class="outline-text-4" id="text-5-3-2"> <p> <code>AUCTeX</code> est distribué avec <code>RefTeX</code> qui est un mode mineur qui permet une @@ -2484,8 +2484,8 @@ déroule soit dans le <i>minibuffer</i> soit dans un <i>buffer</i> annexe. </div> </div> -<div id="outline-container-orga0ef5ce" class="outline-3"> -<h3 id="orga0ef5ce"><span class="section-number-3">5.4</span> Programmation</h3> +<div id="outline-container-orgfd5d7e0" class="outline-3"> +<h3 id="orgfd5d7e0"><span class="section-number-3">5.4</span> Programmation</h3> <div class="outline-text-3" id="text-5-4"> <p> On l'a déjà dit, cette configuration d'Emacs propose par défaut @@ -2501,8 +2501,8 @@ d'outils annexes pour fonctionner. On se reportera donc au fichier </p> </div> -<div id="outline-container-orgbb24790" class="outline-4"> -<h4 id="orgbb24790"><span class="section-number-4">5.4.1</span> Python</h4> +<div id="outline-container-org194da7d" class="outline-4"> +<h4 id="org194da7d"><span class="section-number-4">5.4.1</span> Python</h4> <div class="outline-text-4" id="text-5-4-1"> <p> On utilise le paquet <code>jedi</code> qui gère la complétion dans Emacs pour @@ -2557,8 +2557,8 @@ sources. </div> </div> -<div id="outline-container-orgb037ab3" class="outline-4"> -<h4 id="orgb037ab3"><span class="section-number-4">5.4.2</span> C++</h4> +<div id="outline-container-org57883d5" class="outline-4"> +<h4 id="org57883d5"><span class="section-number-4">5.4.2</span> C++</h4> <div class="outline-text-4" id="text-5-4-2"> <p> Pour la complétion et la correction syntaxique à la volée, on utilise @@ -2609,8 +2609,8 @@ type ou l'objet en question. </div> </div> -<div id="outline-container-org5c0526c" class="outline-4"> -<h4 id="org5c0526c"><span class="section-number-4">5.4.3</span> Tags</h4> +<div id="outline-container-orgada33ae" class="outline-4"> +<h4 id="orgada33ae"><span class="section-number-4">5.4.3</span> Tags</h4> <div class="outline-text-4" id="text-5-4-3"> <p> Les <i>tags</i> (ou étiquettes en français) sont utilisés pour parcourir @@ -2722,8 +2722,8 @@ conseillé d'utiliser les raccourcis de navigation classiques : </div> </div> -<div id="outline-container-orgd6806dd" class="outline-4"> -<h4 id="orgd6806dd"><span class="section-number-4">5.4.4</span> YASnippet</h4> +<div id="outline-container-org020062b" class="outline-4"> +<h4 id="org020062b"><span class="section-number-4">5.4.4</span> YASnippet</h4> <div class="outline-text-4" id="text-5-4-4"> <p> Il n'est pas envisageable d'écrire un tutoriel Emacs sans évoquer les @@ -2839,12 +2839,12 @@ Cet exemple simple illustre bien l'efficacité de l'approche. </div> </div> -<div id="outline-container-org6164b25" class="outline-2"> -<h2 id="org6164b25"><span class="section-number-2">6</span> Pour aller plus loin</h2> +<div id="outline-container-org21bf50d" class="outline-2"> +<h2 id="org21bf50d"><span class="section-number-2">6</span> Pour aller plus loin</h2> <div class="outline-text-2" id="text-6"> </div> -<div id="outline-container-org43d2f7f" class="outline-3"> -<h3 id="org43d2f7f"><span class="section-number-3">6.1</span> Org-mode</h3> +<div id="outline-container-orgd666de1" class="outline-3"> +<h3 id="orgd666de1"><span class="section-number-3">6.1</span> Org-mode</h3> <div class="outline-text-3" id="text-6-1"> <p> Une fois encore, il est inenvisageable de faire un tour complet de ce @@ -3127,8 +3127,8 @@ directement ces éléments avec le mode <code>Org</code>. </div> </div> -<div id="outline-container-orgaaac2c9" class="outline-3"> -<h3 id="orgaaac2c9"><span class="section-number-3">6.2</span> Pliage et dépliage avec <code>narrow-or-widen-dwim</code></h3> +<div id="outline-container-org1963ec6" class="outline-3"> +<h3 id="org1963ec6"><span class="section-number-3">6.2</span> Pliage et dépliage avec <code>narrow-or-widen-dwim</code></h3> <div class="outline-text-3" id="text-6-2"> <p> Emacs propose des fonctions de (dé)-pliage de zones. La dénomination @@ -3190,8 +3190,8 @@ programmation) même qui occupera tout le <i>buffer</i>. </div> </div> -<div id="outline-container-org0f216ea" class="outline-3"> -<h3 id="org0f216ea"><span class="section-number-3">6.3</span> Autres modes installés</h3> +<div id="outline-container-org2c2ce3e" class="outline-3"> +<h3 id="org2c2ce3e"><span class="section-number-3">6.3</span> Autres modes installés</h3> <div class="outline-text-3" id="text-6-3"> <p> En dehors des modes internes fournis avec Emacs, on pourra consulter @@ -3206,12 +3206,12 @@ Ils ne sont pas abordés dans ce tutoriel. </div> </div> -<div id="outline-container-org37ac941" class="outline-3"> -<h3 id="org37ac941"><span class="section-number-3">6.4</span> Personnalisation</h3> +<div id="outline-container-org8f33136" class="outline-3"> +<h3 id="org8f33136"><span class="section-number-3">6.4</span> Personnalisation</h3> <div class="outline-text-3" id="text-6-4"> </div> -<div id="outline-container-orgb424652" class="outline-4"> -<h4 id="orgb424652"><span class="section-number-4">6.4.1</span> custom.el</h4> +<div id="outline-container-org7aaea55" class="outline-4"> +<h4 id="org7aaea55"><span class="section-number-4">6.4.1</span> custom.el</h4> <div class="outline-text-4" id="text-6-4-1"> <p> Même si on souhaite pouvoir suivre les développements de cette @@ -3233,8 +3233,8 @@ importantes, il convient donc de les sauvegarder ailleurs. </div> </div> -<div id="outline-container-orgff3fdb7" class="outline-4"> -<h4 id="orgff3fdb7"><span class="section-number-4">6.4.2</span> Emacs lisp</h4> +<div id="outline-container-org7324f5e" class="outline-4"> +<h4 id="org7324f5e"><span class="section-number-4">6.4.2</span> Emacs lisp</h4> <div class="outline-text-4" id="text-6-4-2"> <p> Rappelons le, Emacs n'est pas un simple éditeur. C'est en fait une @@ -3276,7 +3276,7 @@ vraiment de sens. </div> </div></div> <div id="postamble" class="status"> -<p class="date">Created: 2020-05-18 lun. 22:50</p> +<p class="date">Created: 2020-06-24 mer. 00:13</p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> </div> </body> diff --git a/Tutoriel.pdf b/Tutoriel.pdf index 1da64215eb2c3d9f49fdbd271f0b21fde8059762..556bb16f80171017dbc1d3e1735eb3eb234d3280 100644 GIT binary patch delta 139 zcmdn_*KFrsvxXMN7N!>F7M2#)7Pc1l7LFFq7OocV7M?A<&YL*Rj7$s+42=y<ru%H- zl|pd0=WpUY%;scbZt3LaVrXvc=4$HdVr*z?YG7t*X=v_hU~1yzVrr*gV@yEF_L7~v GuB-q!870#I delta 139 zcmdn_*KFrsvxXMN7N!>F7M2#)7Pc1l7LFFq7OocV7M?A<&YL(*4K0j}ObrYzr~7Q; zl|pd0=WpUY%;w}`X=rNUZ02ZUZscNS;_PZ_>||<U=w@o<<m&2b;cBN~V@yEF_L7~v GuB-q@$0kDn -- GitLab