From 5d05fbec35cdba5f653d9fd08e6ff37bdf886a27 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Tue, 17 Mar 2020 00:36:14 +0100 Subject: [PATCH] =?UTF-8?q?Fait=20quelques=20ajustements=20et=20d=C3=A9but?= =?UTF-8?q?=20d'un=20petit=20tutoriel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + Readme.org | 166 +++++++++++++++++++++++++++------------------------ Tutoriel.org | 15 +++++ init.el | 8 ++- 4 files changed, 110 insertions(+), 80 deletions(-) create mode 100644 Tutoriel.org diff --git a/.gitignore b/.gitignore index 4aa2bc3..9022585 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ auto-save-list /transient/ /.python-environments/ /elpy/ +/Readme.tex diff --git a/Readme.org b/Readme.org index 3a6cc67..bc7ad2b 100644 --- a/Readme.org +++ b/Readme.org @@ -1,5 +1,6 @@ #+STARTUP: org-pretty-entities entitiespretty #+PROPERTY: header-args :comments yes :results silent +#+options: h:1 num:nil toc:nil * Installation L'installation la plus simple de cette configuration se résume à @@ -16,26 +17,22 @@ cette optimisation ajouter les alias suivants à votre shell alias kill-emacs="emacsclient -q -e '(let ((last-nonmenu-event nil))(save-buffers-kill-emacs))'" #+END_SRC -* Tutoriels de M. Zamansky -Cette configuration d'Emacs est grandement (et librement) inspirée de -celle proposée par Mike Zamansky. - -Pour une excellente série tutoriels ainsi que la construction pas a -pas de configurations, voir ci-dessous -#+begin_verse -For a list of all posts and videos check out -[[http://cestlaz.github.io/stories/emacs]] +* Premiers pas avec Emacs +Emacs est bien plus qu'un éditeur de texte. C'est un véritable +environnement de travail dont la tâche ne se réduit pas à la +programmation. - -- Mike Zamansky -#+end_verse +On fournit un [[Tutoriel.org]] qui n'a pour but que de donner quelques +liens utiles et rappeler les principes de base et quelques raccourcis. -* Choix d'interface -** Pas d'écran de bienvenue +* Configuration +** Choix d'interface +*** Pas d'écran de bienvenue #+BEGIN_SRC emacs-lisp (setq inhibit-startup-message t) #+END_SRC -** Augumente la mémoire pour le "garbage collector" => meilleures perfs +*** Augumente la mémoire pour le /garbage collector/ \rArr meilleures performances #+BEGIN_SRC emacs-lisp (setq gc-cons-threshold 64000000) (add-hook 'after-init-hook @@ -44,17 +41,17 @@ For a list of all posts and videos check out (setq gc-cons-threshold 800000))) #+END_SRC -** Pas de toolbar +*** Pas de toolbar #+BEGIN_SRC emacs-lisp (tool-bar-mode -1) #+END_SRC -** Réponses par y ou n +*** Réponses par y ou n #+BEGIN_SRC emacs-lisp (fset 'yes-or-no-p 'y-or-n-p) #+END_SRC -** Commentaires +*** Commentaires | Raccourci | Description | |-----------+-----------------------------------| | ~C-c ;~ | Commente ou décommente une région | @@ -62,17 +59,17 @@ For a list of all posts and videos check out (global-set-key (kbd "C-c ;") 'comment-or-uncomment-region) #+END_SRC -** Affiche aussi le numéro de colone +*** Affiche aussi le numéro de colone #+BEGIN_SRC emacs-lisp (setq column-number-mode t) #+END_SRC -** Désactive l'auto-save +*** Désactive l'auto-save #+BEGIN_SRC emacs-lisp (setq auto-save-default nil) #+END_SRC -** Auto-fill +*** Auto-fill Utilise l'auto-fill #+BEGIN_SRC emacs-lisp (turn-on-auto-fill) @@ -82,7 +79,7 @@ Utilise l'auto-fill (add-hook 'prog-mode-hook (lambda () (auto-fill-mode -1))) #+END_SRC -** Supression des blancs inutiles +*** Supression des blancs inutiles On retire les blancs qui traînent en fin de ligne à la sauvegarde d'un buffer #+BEGIN_SRC emacs-lisp @@ -92,11 +89,11 @@ buffer (delete-trailing-whitespace)))) #+END_SRC -** Affichage de la fonction courante +*** Affichage de la fonction courante #+BEGIN_SRC emacs-lisp (which-function-mode t) #+END_SRC -* Powerline +** Powerline Un bel affichage pour la barre d'état (=mode-line=) #+BEGIN_SRC emacs-lisp (use-package powerline @@ -104,21 +101,21 @@ Un bel affichage pour la barre d'état (=mode-line=) :config (powerline-default-theme)) #+END_SRC -* Try +** Try Permet d'essayer des paquets (sans les installer de manère permanente) #+BEGIN_SRC emacs-lisp (use-package try :ensure t) #+END_SRC -* Posframe +** Posframe Affiche des boites de dialogue #+BEGIN_SRC emacs-lisp (use-package posframe :ensure t) #+END_SRC -* Which key +** Which key Aide en ligne pour les raccourcis (/quelle touche ?/) #+BEGIN_SRC emacs-lisp (use-package which-key @@ -127,7 +124,7 @@ Aide en ligne pour les raccourcis (/quelle touche ?/) (which-key-mode)) #+END_SRC -* Org mode +** Org mode Org bullets makes things look pretty #+BEGIN_SRC emacs-lisp (use-package org @@ -180,7 +177,7 @@ Org bullets makes things look pretty (setq org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar") #+END_SRC -* Ace window +** Ace window Permet de changer facilement de fenêtre. S'il y a plus de deux buffers leur numéros sont affichés et il suffit de taper le numéro de la fenêtre choisie pour s'y rendre. @@ -201,7 +198,7 @@ la fenêtre choisie pour s'y rendre. )) #+END_SRC -* Ivy / Counsel +** Ivy / Counsel Interface de complétion #+BEGIN_SRC emacs-lisp (use-package counsel @@ -222,7 +219,7 @@ Interface de complétion (setq ivy-display-style 'fancy)) #+END_SRC -* Swiper +** Swiper Améliore la recherche incrémentale. Les raccourcis sont les raccourcis classiques. Deux différences notables. - ~<SPC>~ joue le rôle de joker: @@ -255,7 +252,7 @@ classiques. Deux différences notables. )) #+END_SRC -* Avy +** Avy Saute très rapidement vers la zone de texte contenant une lettre. | Raccourci | Description | |-----------+-------------------------------------| @@ -266,7 +263,7 @@ Saute très rapidement vers la zone de texte contenant une lettre. :bind ("M-s" . avy-goto-word-1)) #+END_SRC -* Company +** Company Boites de dialogue pour la complétion #+BEGIN_SRC emacs-lisp (use-package company @@ -293,9 +290,9 @@ Boites de dialogue pour la complétion (add-hook 'python-mode-hook 'my/python-mode-hook) #+END_SRC -* C++ +** C++ Transforme Emacs en un véritable IDE en utilisant Irony -** On branche Irony à Company +*** On branche Irony à Company #+BEGIN_SRC emacs-lisp (use-package company-irony :ensure t @@ -303,7 +300,7 @@ Transforme Emacs en un véritable IDE en utilisant Irony (add-to-list 'company-backends 'company-irony)) #+END_SRC -** On active Irony pour le C++ +*** On active Irony pour le C++ #+BEGIN_SRC emacs-lisp (use-package irony :ensure t @@ -313,7 +310,7 @@ Transforme Emacs en un véritable IDE en utilisant Irony (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)) #+END_SRC -** Eldoc / Irony +*** Eldoc / Irony Affiche la documentation des objets/functions dans le minibuffer #+BEGIN_SRC emacs-lisp (use-package irony-eldoc @@ -322,7 +319,7 @@ Affiche la documentation des objets/functions dans le minibuffer (add-hook 'irony-mode-hook #'irony-eldoc)) #+END_SRC -** Formatage automatique : clang-format +*** Formatage automatique : clang-format Création d'un raccourci spécial pour formater une zone du code. | Raccourci | Description | |-----------+--------------------------------------------------| @@ -353,7 +350,7 @@ Force le formatage du fichier quand il est sauvgardé (add-hook 'c-mode-common-hook 'clang-format-buffer-on-save) #+END_SRC -** Coloration syntaxique (C++ moderne) +*** Coloration syntaxique (C++ moderne) #+BEGIN_SRC emacs-lisp (use-package modern-cpp-font-lock :ensure t @@ -365,7 +362,7 @@ Force le formatage du fichier quand il est sauvgardé :config (modern-c++-font-lock-global-mode t)) #+END_SRC -* Themes +** Themes Préchargement de quelques themes #+BEGIN_SRC emacs-lisp (use-package cloud-theme :ensure t) @@ -382,7 +379,7 @@ Chargement d'un theme (load-theme 'sourcerer t) #+END_SRC -* Modeline +** Modeline Augmente la taille de la police #+BEGIN_SRC emacs-lisp (defvar my-font-size 140) @@ -411,7 +408,7 @@ Taille de la fenêtre et position )) #+END_SRC -* Parenthèses arc-en-ciel +** Parenthèses arc-en-ciel Améliore le visuel des parenthèses #+BEGIN_SRC emacs-lisp (use-package rainbow-delimiters @@ -423,7 +420,7 @@ Améliore le visuel des parenthèses (add-hook 'prog-mode-hook #'rainbow-delimiters-mode)) #+END_SRC -* Flycheck +** Flycheck On branche flycheck à Irony #+BEGIN_SRC emacs-lisp (use-package flycheck-irony @@ -445,7 +442,7 @@ Active flycheck globalement #+BEGIN_SRC (add-hook 'after-init-hook #'global-flycheck-mode) #+END_SRC -* Python +** Python Attention pour que la configuration fonctionne, il faut installer ~virtualenv~. Pour les systèmes Debian #+BEGIN_SRC shell @@ -468,7 +465,7 @@ apt install virtualenv (venv-initialize-eshell)) #+END_SRC -* YaSnippet +** YaSnippet Le système de templates pour Emacs #+BEGIN_SRC emacs-lisp (use-package yasnippet @@ -479,14 +476,14 @@ Le système de templates pour Emacs :ensure t) #+END_SRC -* Divers paquets -** Highlight line +** Divers paquets +*** Highlight line Mise en valeur de la ligne courante #+BEGIN_SRC emacs-lisp (global-hl-line-mode t) #+END_SRC -** Beacon +*** Beacon Flash de la ligne aux changements de page ou de buffer #+BEGIN_SRC emacs-lisp (use-package beacon @@ -495,7 +492,7 @@ Flash de la ligne aux changements de page ou de buffer (beacon-mode 1)) #+END_SRC -** hungry-delete +*** hungry-delete Suppression de tous les blancs quand appuie sur backspace ou delete #+BEGIN_SRC emacs-lisp (use-package hungry-delete @@ -504,14 +501,14 @@ Suppression de tous les blancs quand appuie sur backspace ou delete (global-hungry-delete-mode)) #+END_SRC -** Multiple-cursors +*** Multiple-cursors Permet l'utilisation de plusieurs curseurs simultanément #+BEGIN_SRC emacs-lisp (use-package multiple-cursors :ensure t) #+END_SRC -** Expand-region +*** Expand-region Sélectionne une zone de manière incrémentale. mot, phrase, paragraphe, etc de manière intelligente. #+BEGIN_SRC emacs-lisp @@ -521,19 +518,19 @@ etc de manière intelligente. (global-set-key (kbd "C-=") 'er/expand-region)) #+END_SRC -** Meilleure gestion du ~kill-ring~ +*** Meilleure gestion du ~kill-ring~ #+BEGIN_SRC emacs-lisp (setq save-interprogram-paste-before-kill t) #+END_SRC -** Gestion de la restauration des buffers +*** Gestion de la restauration des buffers #+BEGIN_SRC emacs-lisp (global-auto-revert-mode 1) (setq auto-revert-verbose nil) (global-set-key (kbd "<f5>") 'revert-buffer) #+END_SRC -* iedit +** iedit Modifie les copies d'une zone séléctionnée simultanément | Raccourci | Description | @@ -545,7 +542,7 @@ Modifie les copies d'une zone séléctionnée simultanément :ensure t) #+END_SRC -* Narrow/widen dwim +** Narrow/widen dwim Réduit/agrandit une zone d'édition de manière intelligente #+BEGIN_SRC emacs-lisp (defun narrow-or-widen-dwim (p) @@ -577,7 +574,7 @@ Remplace la fonction Emacs standard par =dwim= (define-key ctl-x-map "n" #'narrow-or-widen-dwim) #+END_SRC -* Web Mode +** Web Mode Mode avancé pour l'édition de pages =html=, =CSS=,... #+BEGIN_SRC emacs-lisp (use-package web-mode @@ -595,7 +592,7 @@ Mode avancé pour l'édition de pages =html=, =CSS=,... (setq web-mode-enable-auto-quoting t) ; this fixes the quote problem I mentioned #+END_SRC -* Emmet mode +** Emmet mode Ensemble de fonctions permettant l'édition rapide de markup languages (html,sgml,...) #+BEGIN_SRC emacs-lisp (use-package emmet-mode @@ -609,7 +606,7 @@ Ensemble de fonctions permettant l'édition rapide de markup languages (html,sgm (add-hook 'css-mode-hook 'emmet-mode)) #+END_SRC -* Dired +** Dired Permet d'utiliser reduire/agrandir les affichages de répertoires #+BEGIN_SRC emacs-lisp (setq dired-dwim-target t) @@ -628,7 +625,7 @@ Permet d'utiliser reduire/agrandir les affichages de répertoires (bind-key "<backtab>" #'dired-subtree-cycle dired-mode-map)) #+END_SRC -* LaTeX +** LaTeX Configuration LaTeX basique. #+BEGIN_SRC emacs-lisp (use-package tex @@ -639,7 +636,7 @@ Configuration LaTeX basique. (tex-send-command "evince" (tex-append tex-print-file ".pdf"))) #+END_SRC -* Gestion de projets +** Gestion de projets #+BEGIN_SRC emacs-lisp (use-package projectile :ensure t @@ -649,7 +646,7 @@ Configuration LaTeX basique. (setq projectile-completion-system 'ivy)) #+END_SRC -* Org mode (langages suportés) +** Org mode (langages suportés) Charge les langages disponnibles pour org-mode #+BEGIN_SRC emacs-lisp (org-babel-do-load-languages @@ -665,7 +662,7 @@ Charge les langages disponnibles pour org-mode (latex . t ))) #+END_SRC -* Parenthèses +** Parenthèses #+BEGIN_SRC emacs-lisp (use-package smartparens :ensure t @@ -679,7 +676,7 @@ Charge les langages disponnibles pour org-mode (setq show-paren-style 'mixed) #+END_SRC -* Taille de la police +** Taille de la police Change la taille de la police dynamiquement (temporaire) | Raccourci | Description | |-----------+---------------------------------| @@ -693,7 +690,7 @@ Change la taille de la police dynamiquement (temporaire) (global-set-key (kbd "C-M--") 'default-text-scale-decrease)) #+END_SRC -* Hydra +** Hydra Outil de simplification des raccourcis. Un popup contextuel apparaît. | Raccourci | Description | |-----------+---------------------------------------| @@ -777,7 +774,7 @@ Outil de simplification des raccourcis. Un popup contextuel apparaît. ("<drag-mouse-1>" ignore)) #+END_SRC -* Modes git +** Modes git Le sublime *magit* | Raccourci | Description | |-----------+--------------------------------------| @@ -839,7 +836,7 @@ modifications, de les valider (~git add -p~) ou de les annuler (~git checkout -p :color blue)) #+END_SRC -* Flyspell +** Flyspell Correcteur orthographique à la volée #+BEGIN_SRC emacs-lisp (add-hook 'org-mode-hook 'turn-on-flyspell) @@ -848,7 +845,7 @@ Correcteur orthographique à la volée (add-hook 'mu4e-compose-mode-hook 'turn-on-auto-fill) #+END_SRC -* C++ +** C++ Activation des *ggtags* #+BEGIN_SRC emacs-lisp (use-package ggtags @@ -860,7 +857,7 @@ Activation des *ggtags* (ggtags-mode 1))))) #+END_SRC -* CMake +** CMake #+BEGIN_SRC emacs-lisp (use-package cmake-mode :ensure t @@ -879,14 +876,14 @@ Activation des *ggtags* 1 font-lock-warning-face t))))))) #+END_SRC -* Markdown +** Markdown #+BEGIN_SRC emacs-lisp (use-package markdown-mode :ensure t :mode (".md" ".markdown")) #+END_SRC -* Dumb jump +** Dumb jump Permet de se déplacer *très* rapidement dans un texte ou de retrouver une définition. | Raccourci | Description | @@ -904,14 +901,14 @@ une définition. :ensure t) #+END_SRC -* Origami +** Origami Mode permettant le pliage (/folding/) de regions #+BEGIN_SRC emacs-lisp (use-package origami :ensure t) #+END_SRC -* IBuffer +** IBuffer Un meilleur gestionnaire de /buffers/. | Raccourci | Description | @@ -950,7 +947,7 @@ Un meilleur gestionnaire de /buffers/. (setq ibuffer-expert t) #+END_SRC -* Wgrep +** Wgrep Permet de modifier le résultat d'un *grep* (donc simultanément dans plusieurs fichiers par exemple). @@ -968,7 +965,7 @@ voir [[https://github.com/emacsmirror/emacswiki.org/blob/master/wgrep.el][wgrep] (require 'wgrep-ag) #+END_SRC -* PDF tools +** PDF tools Outils d'édition de PDF dans Emacs #+BEGIN_SRC emacs-lisp (use-package pdf-tools @@ -977,7 +974,7 @@ Outils d'édition de PDF dans Emacs :ensure t) #+END_SRC -* AutoYASnippet +** AutoYASnippet Outil de création rapide de snipets. Voir la documentation en ligne [[https://github.com/abo-abo/auto-yasnippet]] #+BEGIN_SRC emacs-lisp @@ -985,7 +982,7 @@ Voir la documentation en ligne [[https://github.com/abo-abo/auto-yasnippet]] :ensure t) #+END_SRC -* Divers +** Divers Quelques réglages utilitaires #+BEGIN_SRC emacs-lisp (setq browse-url-browser-function 'browse-url-generic @@ -996,7 +993,7 @@ Quelques réglages utilitaires '((cursor-color . "DarkGrey"))) #+END_SRC -* Keyfreq +** Keyfreq Enregistre la fréquence d'utilisation de commandes. Pour obtenir les statistiques, utiliser la commande ~M-x keyfreq-show~ @@ -1009,7 +1006,7 @@ Pour obtenir les statistiques, utiliser la commande (keyfreq-autosave-mode 1)) #+END_SRC -* Dictionnaire et césures +** Dictionnaire et césures #+BEGIN_SRC emacs-lisp (use-package dictionary :ensure t) @@ -1017,6 +1014,21 @@ Pour obtenir les statistiques, utiliser la commande :ensure t) #+END_SRC + +* À propos de cette configuration +Cette configuration d'Emacs est grandement (et librement) inspirée de +celle proposée par Mike Zamansky. + +Pour une excellente série tutoriels ainsi que la construction pas a +pas de configurations, voir ci-dessous +#+begin_verse +For a list of all posts and videos check out +[[http://cestlaz.github.io/stories/emacs]] + + -- Mike Zamansky +#+end_verse + + #+BEGIN_COMMENT Local Variables: ispell-local-dictionary: "francais" diff --git a/Tutoriel.org b/Tutoriel.org new file mode 100644 index 0000000..2742161 --- /dev/null +++ b/Tutoriel.org @@ -0,0 +1,15 @@ +#+STARTUP: org-pretty-entities entitiespretty +#+PROPERTY: header-args :comments yes :results silent +#+options: h:1 num:nil toc:nil + +* Historique +* Prise en main +* Quelques raccourcis +* Modes utiles +* Pour aller plus loin + +#+BEGIN_COMMENT +Local Variables: +ispell-local-dictionary: "francais" +End: +#+END_COMMENT diff --git a/init.el b/init.el index 1ad6103..244ee73 100644 --- a/init.el +++ b/init.el @@ -17,12 +17,14 @@ '("org" . "https://orgmode.org/elpa/")) ;; positionner is-standalone à true pour utiliser l'archive elpa -;; locale (nécessite au) -(defvar is-standalone nil) +;; locale, ou créer un fichier "~/.emacs.d/STANDALONE" +(defvar is-standalone (file-exists-p "~/.emacs.d/STANDALONE")) (if is-standalone (setq package-archives '(("myelpa" . "~/.emacs.d/myelpa/") ("org" . "https://orgmode.org/elpa/"))) nil) + +;; initialise la liste des paquets (package-initialize) ;; Bootstrap `use-package' @@ -30,6 +32,7 @@ (package-refresh-contents) (package-install 'use-package)) +;; Indique où sont stockés les paquets téléchargés (add-to-list 'load-path (expand-file-name "~/.emacs.d/elpa")) (use-package auto-async-byte-compile :ensure t @@ -47,7 +50,6 @@ '(hydra-hint-display-type (quote posframe)) '(irony-cdb-search-directory-list (quote ("." "build"))) '(org-confirm-babel-evaluate nil) - '(org-default-notes-file (concat org-directory "/notes.org")) '(org-export-html-postamble nil) '(org-hide-leading-stars t) '(org-src-fontify-natively t) -- GitLab