Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
emacs [Le 14/05/2016, 13:45]
85.218.40.80 [la version ''snapshot''] m
emacs [Le 18/11/2022, 11:27] (Version actuelle)
dzecniv [Emacs : le couteau Suisse du développeur] une particularité: programmable à la volée
Ligne 1: Ligne 1:
-{{tag>​programmation éditeur_de_texte IDE}}+{{tag>Xenial ​programmation éditeur_de_texte IDE}}
  
 ---- ----
  
 +{{  https://​ftp.igh.cnrs.fr/​pub/​nongnu/​emacs/​icons/​emacs5.png?​100}}
 ====== Emacs : le couteau Suisse du développeur ====== ====== Emacs : le couteau Suisse du développeur ======
  
 **Emacs**, ou Editor MACroS, créé par Richard Stallman est un [[éditeur de texte]] très puissant, extensible et personnalisable. **Emacs**, ou Editor MACroS, créé par Richard Stallman est un [[éditeur de texte]] très puissant, extensible et personnalisable.
  
-Bien que d'apparence austère de prime abordavec un peu de prise en mainEmacs peut servir d'environnement ​de développement pour beaucoup de langages (LaTeX avec l'extension auctex, python, javascript, html...), de navigateur internet, de client mail, de client IRC, de psychanalyste...+Une de ses particularités est qu'il est programmable entièrement dans son langage ​d'extensionEmacs Lispet que cela se fait à la volée, signifiant qu'on n'a jamais besoin ​de redémarrer ​l'éditeur pour voir les changements
  
-{{  :​spacemacs-magit.png?​1100 | édition d'un fichier HTML et inspection des logs de git  }}+Bien que d'​apparence austère, avec un peu de prise en main, Emacs peut servir d'​environnement de développement pour beaucoup de langages (LaTeX avec l'​extension auctex, python, javascript, html...), de navigateur internet, de client mail, de client IRC, de psychanalyste... 
 + 
 +{{  :​spacemacs-magit.png?​450 | édition d'un fichier HTML et inspection des logs de git  }}
  
 ===== Installation ===== ===== Installation =====
-Il y a deux versions d'​Emacs disponibles dans les dépôts Ubuntu : la version stable et la version '''​snapshot'''​! +Selon vos besoins, deux possibilités pour installer ​emacs sont détaillées ci-dessous. 
-<​note>​ +====Version ​stable ====
-Pour [[:​trusty|Ubuntu 14.04]], deux versions d'emacs '​stables' ​sont disponibles:​ [[apt>​emacs23]] et [[apt>​emacs24]]  +
-</​note>​ +
-==== la version ​stable ====+
  
-=== Versions plus récentes === +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>emacs|emacs]]** ( vous pouvez installer plusieurs versions ).\\
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt://emacs|emacs]]** ( vous pouvez installer plusieurs versions ).\\+
 Pour avoir une interface graphique (GTK+ : [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **emacs<​version>​**\\ Pour avoir une interface graphique (GTK+ : [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **emacs<​version>​**\\
-Mais si vous ne voulez pas d'​interface graphique : [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **emacs<​version>​-nox**. Avec emacs<​version>​-nox,​ on a les couleurs du profil de **nano** (avec, en plus, la coloration syntaxique)+Mais si vous ne voulez pas d'​interface graphique : [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **emacs<​version>​-nox**. Avec **emacs<​version>​-nox**, on a les couleurs du profil de **nano** (avec, en plus, la coloration syntaxique).
- +
- +
-==== la version ''​snapshot''​ ==== +
-Emacs n'a pas cessé d'​évoluer. Ces changements sont disponibles dans la version de développement d'​Emacs qui, bien que considérée comme instable, peut être utilisée quotidiennement. +
- +
-La version "​snapshot"​ d'​Emacs fournie par Ubuntu n'est pas maintenue et est actuellement plus ancienne que la version stable ! +
- +
-=== depuis un dépôt non-officiel === +
- +
-[[http://​damiencassou.seasidehosting.st/​|Damien Cassou]] fournit un dépôt [[ppa|PPA]] contenant un snapshot beaucoup plus récent que celui des dépôts d'​Ubuntu et régulièrement mis à jour.+
  
-Il est quand même important de noter que cette version n'est pas du tout prise en charge par la communauté Ubuntu. Donc, si vous avez un problème, reportez-le directement à l'​auteur du paquet. 
  
-Exécutez le code suivant dans un terminal pour ajouter le dépôt ​:+==== Version ''​snapshot''​ depuis ​un dépôt ​non-officiel ===
  
-<​code>​sudo add-apt-repository ppa:cassou/emacs</code>+[[https://launchpad.net/​~ubuntu-elisp|L'​Ubuntu Emacs Lisp team]] fournit un dépôt [[ppa|PPA]] contenant un snapshot beaucoup plus récent que celui des dépôts d'​Ubuntu et régulièrement mis à jour.
  
-Puis, [[:​tutoriel:​comment_installer_un_paquet|installez les paquets]] **[[apt>​emacs-snapshot]]** et **[[apt>​emacs-snapshot-el]]**.+Il est important de noter que cette version n'est pas prise en charge par la communauté Ubuntu. En cas de problème, reportez-le directement à l'​auteur du paquet. 
 +  * [[:​PPA|Ajouter le PPA]] **ppa:​ubuntu-elisp/​ppa**((https://​launchpad.net/​~ubuntu-elisp/​+archive/​ubuntu/​ppa)) dans vos sources de logiciels;  
 +  * [[:​tutoriel:​comment_modifier_sources_maj#​recharger_la_liste_des_paquets|recharger la liste des paquets]];​ 
 +  * Puis, [[:​tutoriel:​comment_installer_un_paquet|installez les paquets]] **[[apt>​emacs-snapshot]]** et **[[apt>​emacs-snapshot-el]]**.
  
-Et voilà. ​Vous pouvez lancer Emacs à partir du menu des applications (choisir la version GTK) ou du terminal en tapant simplement ''​emacs''​.+Vous pouvez ​maintenant ​lancer Emacs à partir du menu des applications (choisir la version GTK) ou du terminal en tapant simplement ''​emacs''​.
  
 En appuyant sur Shift puis en cliquant dans la fenêtre d'​Emacs,​ vous avez la possibilité de grossir la taille de la police. En appuyant sur Shift puis en cliquant dans la fenêtre d'​Emacs,​ vous avez la possibilité de grossir la taille de la police.
Ligne 47: Ligne 38:
 ===== Utilisation ===== ===== Utilisation =====
  
-<note tip> +Le  :​[[http://​www.linux-france.org/​article/​appli/​emacs/​manuel/​html/​index.html|manuel en français]]
-Le manuel en français ​:​[[http://​www.linux-france.org/​article/​appli/​emacs/​manuel/​html/​index.html]]</​note>​+
  
-Cette section n'a pour but que de vous familiariser avec les fonctions de bases. Il est possible d'en apprendre plus grâce aux liens se trouvant en bas de la page.+Cette section n'a pour but que de vous familiariser avec les fonctions de base. Il est possible d'en apprendre plus grâce aux liens se trouvant en bas de la page.
  
  
 ==== Principes fondamentaux ==== ==== Principes fondamentaux ====
  
-Contrairement à Vim, il est possible ​dès le départ et tout au long de l'​utilisation d'​Emacs ​d'​écrire du texte dans le ou les fichiers ouverts. ​De plus sous Emacs la notion de fenêtre n'est pas la même que dans les interfaces graphiques. En effetdans Emacs une fenêtre ​est un cadre de la "​fenêtre"​ (au sens classique du terme).+Il est toujours ​possible ​ d'​écrire du texte dans le ou les fichiers ouverts ​(contrairement à Vim). 
 +À la différence du sens pris pour les interfaces graphiques, une fenêtre ​correspond uniquement au cadre.
  
 === Les modes === === Les modes ===
  
-Emacs utilise des modes pour l'​édition de texte. Il existe 2 types de modes: ​Le mode **majeur** et le mode **mineur**.+L'​édition de texte  ​s'​appuie sur les modes majeurs et mineurs ​:
  
-  * Le mode majeur définit la manière dont est traité le type de fichier ​à éditer. Cela implique la gestion de la coloration syntaxique, ​le comportement ​de certaines ​commandes, ajout de fonctionnalités spécifiques ... Il existe un mode majeur pour presque chaque langage de programmation. +  * Les modes majeurs permettent de définir comment un type de fichier ​va être édité. Cela comprend ​la coloration syntaxique, ​la définition ​de commandes ​clavierl'ajout de fonctionnalités spécifiques ... Il existe un mode majeur pour presque chaque langage de programmation. 
-  * Le mode mineur quant à lui, permet ​de modifier le comportement des modes majeurs.+  * Les modes mineurs permettent ​de modifier le comportement des modes majeurs.
  
 === Les commandes === === Les commandes ===
  
-Emacs se contrôle principalement via des raccourcis/​commandes clavier.+Emacs se contrôle principalement via des raccourcis / commandes clavier.
  
 C-<​lettre>:​ correspond à **Ctrl+<​lettre>​** C-<​lettre>:​ correspond à **Ctrl+<​lettre>​**
Ligne 116: Ligne 107:
 |   ​M-k ​    | Supprime jusqu'​à la fin de la phrase courante | |   ​M-k ​    | Supprime jusqu'​à la fin de la phrase courante |
 |   C-x u ou C-_  | Annuler la modification | |   C-x u ou C-_  | Annuler la modification |
-|   C-x C-x    | Echange ​la position du curseur avec l'​autre ​coté de la sélection |+|   C-x C-x    | Échange ​la position du curseur avec l'​autre ​côté ​de la sélection |
 | C-espace | Définit le début de la région (la fin de la région est la position du curseur)| | C-espace | Définit le début de la région (la fin de la région est la position du curseur)|
 |   ​C-w ​  | Coupe la région sélectionnée | |   ​C-w ​  | Coupe la région sélectionnée |
Ligne 132: Ligne 123:
  
 === Que faire avec META-x (Alt-x)=== === Que faire avec META-x (Alt-x)===
-En appuyant sur Alt et x on fait apparaitre ​le curseur tout en bas de la fenêtre. On peut alors exécuter toutes les fonctions interactives d'emacs. Pour voir la liste de ses fonctions, on peut taper sur Tabulation. D'une manière générale, ​tabulation ​complète la fonction que l'on cherche ​effectuer. La flèche du haut permet de reprendre les fonctions effectuées récemment.+En appuyant sur Alt et x on fait apparaître ​le curseur tout en bas de la fenêtre. On peut alors exécuter toutes les fonctions interactives d'Emacs. Pour voir la liste de ses fonctions, on peut taper sur Tabulation. D'une manière générale, ​Tabulation ​complète la fonction que l'on cherche ​à effectuer. La flèche du haut permet de reprendre les fonctions effectuées récemment.
  
 Par exemple, tapez : M-x got //​Tabulation//​ li //​Tabulation//​ //Entrée// 22 //Entrée// Par exemple, tapez : M-x got //​Tabulation//​ li //​Tabulation//​ //Entrée// 22 //Entrée//
Ligne 140: Ligne 131:
 ^ commande ^ action ^ ^ commande ^ action ^
 |M-x ffap| ouvre le fichier dont le nom est sur le curseur (FindFileAtPoint)| |M-x ffap| ouvre le fichier dont le nom est sur le curseur (FindFileAtPoint)|
-|M-x goto-line 2| va a la ligne souhaitée|+|M-x goto-line 2| va a la ligne souhaitée ​
 +|M-x comment-region| commente la zone sélectionnée => rajoute ''#''​ ou ''​REM''​ ou '';''​ selon| 
 +|M-x un-comment-region| dé-commente la région => enlève ''#''​ ou ''​REM''​ ou '';''​ selon|
 |M-x ediff-buffers| lance la comparaison entre deux buffers (appuyer ensuite pipe [Alt Gr-touche 6] => vertical)| |M-x ediff-buffers| lance la comparaison entre deux buffers (appuyer ensuite pipe [Alt Gr-touche 6] => vertical)|
 |M-x replace-regexp [tT]ata toto| remplace Tata ou tata par toto. Comme sed '​s/​[tT]ata/​toto/'​| |M-x replace-regexp [tT]ata toto| remplace Tata ou tata par toto. Comme sed '​s/​[tT]ata/​toto/'​|
  
-**M-x flush-lines ^$**    enlève les lignes vides(attention tapez deux fois sur le chapeau ^^ )+**M-x flush-lines ^$**    enlève les lignes vides (attention tapez deux fois sur le chapeau ^^ ).
  
 _________________________________________________________________________________________ _________________________________________________________________________________________
  
-Exemple de succession typique : On veut déplacer une ligne dans une autre fonction dont le nom est écrit à coté.+Exemple de succession typique : on veut déplacer une ligne dans une autre fonction dont le nom est écrit à côté.
  
 **C-a-k** //;=> on coupe la ligne, puis on déplace le curseur devant le nom de la fonction// **C-a-k** //;=> on coupe la ligne, puis on déplace le curseur devant le nom de la fonction//
Ligne 154: Ligne 147:
 **C-s-w** [C-s] //;=> on lance la recherche, puis on tape autant de fois **C-s** ​ que nécessaire pour aller à l'​endroit que l'on cherche.// **C-s-w** [C-s] //;=> on lance la recherche, puis on tape autant de fois **C-s** ​ que nécessaire pour aller à l'​endroit que l'on cherche.//
  
-**C-y** //; => Copie le texte coupé précédemment à l'​endroit souhaité+**C-y** //; => copie le texte coupé précédemment à l'​endroit souhaité
 // //
  
Ligne 162: Ligne 155:
 ===== Installer des extensions ===== ===== Installer des extensions =====
  
-Comme tout éditeur qui se respecte, ​emacs propose un système d'​extensions (ou bien de paquets, "​package"​ en anglais). C'est comme apt-get ou synaptic pour Ubuntu. Cela permet d'​obtenir de nouvelles fonctionnalités et de personnaliser son usage très facilement. Avant ce système d'​extensions,​ on devait copier-coller les codes des extensions dans sa configuration… imaginez le bazar. Maintenant, même de petites fonctionnalités sont disponibles dans un paquet. ​+Comme tout éditeur qui se respecte, ​Emacs propose un système d'​extensions (ou bien de paquets, "​package"​ en anglais). C'est comme apt-get ou synaptic pour Ubuntu. Cela permet d'​obtenir de nouvelles fonctionnalités et de personnaliser son usage très facilement. Avant ce système d'​extensions,​ on devait copier-coller les codes des extensions dans sa configuration… imaginez le bazar. Maintenant, même de petites fonctionnalités sont disponibles dans un paquet.
  
 Le système d'​extensions officiel est ''​package.el''​. En fait, avant son apparition on pouvait utiliser ''​el-get''​. Il fonctionne toujours et est complémentaire à ''​package.el'',​ mais nous allons nous intéresser à ce dernier. Le système d'​extensions officiel est ''​package.el''​. En fait, avant son apparition on pouvait utiliser ''​el-get''​. Il fonctionne toujours et est complémentaire à ''​package.el'',​ mais nous allons nous intéresser à ce dernier.
  
-''​package.el''​ est inclut ​de base dans Emacs (depuis la version 24). On a plusieurs commandes à disposition:​+''​package.el''​ est inclus ​de base dans Emacs (depuis la version 24). On a plusieurs commandes à disposition :
  
-  * lister les extensions disponibles: ​ ''​M-x package-list-packages''​+  * lister les extensions disponibles :  ''​M-x package-list-packages''​
  
-  * installer une extension: ''​M-x package-install ENTREE un-paquet ENTREE'' ​+  * installer une extension : ''​M-x package-install ENTREE un-paquet ENTREE'' ​
  
-  * initialiser (comme "​apt-get update"​):​ ''​M-x package-initialize''​.+  * initialiser (comme "​apt-get update"​) : ''​M-x package-initialize''​.
  
 En fait, comme toujours, utilisez TAB pour voir la liste des commandes possibles. En fait, comme toujours, utilisez TAB pour voir la liste des commandes possibles.
  
-Liens:+Liens :
  
-  * package.el: ​http://​wikemacs.org/​wiki/​Package.el+  * package.el : https://​wikemacs.org/​wiki/​Package.el
  
 ==== Configurer les sources d'​extensions ==== ==== Configurer les sources d'​extensions ====
Ligne 186: Ligne 179:
 ''​ ''​
 (add-to-list '​package-archives (add-to-list '​package-archives
-             '​("​melpa"​ . "http://melpa.milkbox.net/​packages/"​) t)''​+             '​("​melpa"​ . "https://stable.melpa.org/​packages/"​) t)''​
                            
- Pour prendre en compte ces quelques lignes, redémarrez ​emacs, ou placez-vous après la dernière parenthèse fermante et exécutez ''​C-x C-e''​ (soit ''​M-x eval-last-sexp''​),​ qui permet d'​évaluer dans l'​environnement d'emacs la dernière expression. Maintenant vous verrez plus de paquets disponibles avec ''​M-x package-list-packages''​ et on va pouvoir en installer des biens !+ Pour prendre en compte ces quelques lignes, redémarrez ​Emacs, ou placez-vous après la dernière parenthèse fermante et exécutez ''​C-x C-e''​ (soit ''​M-x eval-last-sexp''​),​ qui permet d'​évaluer dans l'​environnement d'Emacs la dernière expression. Maintenant vous verrez plus de paquets disponibles avec ''​M-x package-list-packages''​ et on va pouvoir en installer des biens !
                            
- ​Liens:​+ Liens :
  
-  * MELPA: ​http://​wikemacs.org/​wiki/​MELPA +  * MELPA : https://​wikemacs.org/​wiki/​MELPA 
-  * GNU ELPA: http://​wikemacs.org/​wiki/​ELPA+  * GNU ELPA : https://​wikemacs.org/​wiki/​ELPA
  
-==== Installez plein d'extensions pratiques ====+==== Quelques ​extensions ​très pratiques ====
  
-Et maintenant, ​éclatons-nous ! Voici une petite sélection personnelle:​+Et maintenant, ​voici une petite sélection personnelle:​
  
-   * [[http://​wikemacs.org/​wiki/​Smex | smex]] permet de lancer les commandes avec ''​M-x''​ plus rapidement, de manière interactive. Lorsqu'​on commence à taper une commande on voit la liste des commandes qui correspondent. On voit celles qu'on utilise le plus souvent en premières.+   * [[https://​wikemacs.org/​wiki/​Smex | smex]] permet de lancer les commandes avec ''​M-x''​ plus rapidement, de manière interactive. Lorsqu'​on commence à taper une commande on voit la liste des commandes qui correspondent. On voit celles qu'on utilise le plus souvent en premières.
    * [[ https://​github.com/​bbatsov/​projectile | projectile]] est une librairie de gestion de projets. Il permet beaucoup de choses, mais notamment de chercher récursivement des fichiers dans un projet (et toujours interactivement).    * [[ https://​github.com/​bbatsov/​projectile | projectile]] est une librairie de gestion de projets. Il permet beaucoup de choses, mais notamment de chercher récursivement des fichiers dans un projet (et toujours interactivement).
-   * ido veut dire "​Interactively do things"​ et il porte bien son nom. Il offre un mini-prompt interactif pour presque toutes les commandes qui en ont besoin, ce qui permet de moins taper et d'​aller plus vite (pour ouvrir des fichiers, pour répondre à des confirmations oui/non, etc).+   ​* ​''​ido'' ​veut dire "​Interactively do things"​ et il porte bien son nom. Il offre un mini-prompt interactif pour presque toutes les commandes qui en ont besoin, ce qui permet de moins taper et d'​aller plus vite (pour ouvrir des fichiers, pour répondre à des confirmations oui/non, etc).
    * [[http://​wikemacs.org/​wiki/​Magit | magit ]] pour utiliser git (le gestionnaire de versions) de manière visuelle, interactive et efficace,    * [[http://​wikemacs.org/​wiki/​Magit | magit ]] pour utiliser git (le gestionnaire de versions) de manière visuelle, interactive et efficace,
-   * [[http://​wikemacs.org/​wiki/​Evil | evil-mode]] est une émulation de vim par dessus Emacs. Eh oui, car certains trouvent l'​édition modale plus pratique ! (En effet, dans vim on peut supprimer une ligne entière avec ''​dd''​ lorsqu'​avec Emacs de base c'est ''​C-a C-k C-k''​). +   * [[https://​wikemacs.org/​wiki/​Evil | evil-mode]] est une émulation de vim par dessus Emacs. Eh oui, car certains trouvent l'​édition modale plus pratique ! (En effet, dans vim on peut supprimer une ligne entière avec ''​dd''​ lorsqu'​avec Emacs de base c'est ''​C-a C-k C-k''​). 
-   * [[ http://​melpa.org/#/​move-text | move-text ]] pour déplacer la ligne ou la région sélectionnée avec M-up et M-down, +   * [[ http://​melpa.org/#/​move-text | move-text ]] pour déplacer la ligne ou la région sélectionnée avec ''​M-up'' ​et ''​M-down''​
-   * elscreen pour avoir des onglets (mais pas un unique par fenêtre, cela ne vaut pas le coup lorsqu'​on a des dizaines de buffers ouverts), +   ​* ​''​elscreen'' ​pour avoir des onglets (mais pas un unique par fenêtre, cela ne vaut pas le coup lorsqu'​on a des dizaines de buffers ouverts), ou [[https://​github.com/​ema2159/​centaur-tabs/​ | centaur-tabs]] pour des onglets plus jolis et plus configurables
-   * Helm pour une interface interactive à tout (c'est un puits sans fond), dans lequel on trouve helm-swoop qui est une sorte de grep sur le buffer courant mais interactif (on voit la sélection modifée selon notre frappe), +   * Helm pour une interface interactive à tout (c'est un puits sans fond), dans lequel on trouve helm-swoop qui est une sorte de ''​grep'' ​sur le buffer courant mais interactif (on voit la sélection modifée selon notre frappe), 
-   * mpg123 ou emms pour un lecteur de musique et vidéo, +   ​* ​''​mpg123'' ​ou emms pour un lecteur de musique et vidéo, 
-   * mu4e pour lire ses mails, ​+   ​* ​[[https://​www.djcbsoftware.nl/​code/​mu/​mu4e.html | mu4e ]] pour lire ses mails,  
 +   * [[https://​melpa.org/#/​flycheck-grammalecte|flycheck-grammalecte]] ajoute le correcteur grammatical dédié à la langue française Grammalecte,​ 
 +   * [[https://​github.com/​joaotavora/​eglot | eglot]], un client pour LSP, le Language Server Protocol (inclus par défaut à partir de Emacs 29),
    * des extensions pour org-mode, pour le navigateur de fichiers Dired, pour des moteurs de blogs, pour skype, des jeux, etc. On peut tout programmer en emacs-lisp !    * des extensions pour org-mode, pour le navigateur de fichiers Dired, pour des moteurs de blogs, pour skype, des jeux, etc. On peut tout programmer en emacs-lisp !
- 
 ===== Commencer avec une configuration complète ===== ===== Commencer avec une configuration complète =====
  
-On admettra que, de base, Emacs peut sembler rêche, et que cela demande un peu de travail pour installer les extensions dont on a besoin pour travailler. Alors si vous débutez, vous devriez au moins essayer une configuration complète que d'​autres ont faite pour vous (on dit des [[http://​wikemacs.org/​wiki/​Starter_Kits | "​starter kits"​]]). ​+On admettra que, de base, Emacs peut sembler rêche, et que cela demande un peu de travail pour installer les extensions dont on a besoin pour travailler. Alors si vous débutez, vous devriez au moins essayer une configuration complète que d'​autres ont faite pour vous (on dit des [[https://​wikemacs.org/​wiki/​Starter_Kits | "​starter kits"​]]).
  
-Une configuration très populaire est [[https://​github.com/​bbatsov/prelude ​emacs-prelude]]. Elle est construite par modules (pour tel language de programmation par exemple) qu'on peut activer et désactiver facilement. Si vous souhaitez construire vous même votre init file, vous pouvez vous en inspirer.+Une configuration très populaire est [[https://​github.com/​doomemacs/doomemacs ​Doom Emacs]]. Elle est construite par modules (pour tel language de programmation par exemple) qu'on peut activer et désactiver facilement. Si vous souhaitez construire vous même votre init file, vous pouvez vous en inspirer.
  
 ===== Org-mode: gérer sa vie dans un fichier texte ===== ===== Org-mode: gérer sa vie dans un fichier texte =====
Ligne 229: Ligne 223:
 <​code>​mkdir ~/.emacs.d <​code>​mkdir ~/.emacs.d
 gedit ~/​.emacs.d/​init.el</​code>​ gedit ~/​.emacs.d/​init.el</​code>​
-Notez que le fichier init.el sert de fichier de configuration qui s'​ouvre à chaque démarrage d'​emacs. Pour plus de détails sur le sujet, référez-vous à [[http://​www.emacswiki.org/​emacs/​InitFile|cette page]].+Notez que le fichier init.el sert de fichier de configuration qui s'​ouvre à chaque démarrage d'​emacs. Pour plus de détails sur le sujet, référez-vous à [[https://​www.emacswiki.org/​emacs/​InitFile|cette page]].
  
 Dans le but de faciliter la configuration d'​Emacs pour ceux qui souhaitent l'​utiliser pour la première fois, nous donnerons ici un exemple de fichier de configuration pour Emacs, utilisé en particulier pour écrire avec LaTeX  l'aide du plugin AucTeX (installez le via [[:​synaptic]]). Dans un but de clarté, nous diviserons ici notre fichier init.el en plusieurs parties, pour commenter les parties qui nous semblent pertinentes. Dans le but de faciliter la configuration d'​Emacs pour ceux qui souhaitent l'​utiliser pour la première fois, nous donnerons ici un exemple de fichier de configuration pour Emacs, utilisé en particulier pour écrire avec LaTeX  l'aide du plugin AucTeX (installez le via [[:​synaptic]]). Dans un but de clarté, nous diviserons ici notre fichier init.el en plusieurs parties, pour commenter les parties qui nous semblent pertinentes.
Ligne 245: Ligne 239:
 L'​interface de compilation sous AucTeX permet de compiler et gérer les fichiers de sortie, les messages, etc. La compilation peut se faire de différentes manières : document intégral, partie du document, etc. Une fois une commande de compilation lancée (**C-c C-c** pour tout le document, **C-c C-r** pour la région sélectionnée,​ etc.), on peut choisir de compiler avec Latex, BibTeX, ... ou encore View (pour visualiser),​ Clean (pour nettoyer les fichiers intermédiaires),​ Clean All (pour tout nettoyer, y compris les documents produits). La sortie de compilation est affichée avec **C-c C-l**, et on va à la prochaine erreur avec ** C-c C-`**. On pourra définir ce qui sera considéré comme erreur (notamment parmi les bad-boxes et warnings). L'​interface de compilation sous AucTeX permet de compiler et gérer les fichiers de sortie, les messages, etc. La compilation peut se faire de différentes manières : document intégral, partie du document, etc. Une fois une commande de compilation lancée (**C-c C-c** pour tout le document, **C-c C-r** pour la région sélectionnée,​ etc.), on peut choisir de compiler avec Latex, BibTeX, ... ou encore View (pour visualiser),​ Clean (pour nettoyer les fichiers intermédiaires),​ Clean All (pour tout nettoyer, y compris les documents produits). La sortie de compilation est affichée avec **C-c C-l**, et on va à la prochaine erreur avec ** C-c C-`**. On pourra définir ce qui sera considéré comme erreur (notamment parmi les bad-boxes et warnings).
  
-<​code>​ 
- 
-</​code>​ 
 <​note>​Rédaction en cours</​note>​ <​note>​Rédaction en cours</​note>​
  
Ligne 278: Ligne 269:
 (color-theme-gnome2) (color-theme-gnome2)
 </​code>​ </​code>​
-ou comme ceci : +ou comme ceci :
 <code lisp> <code lisp>
 (require '​color-theme) (require '​color-theme)
Ligne 289: Ligne 280:
  
 Copier/​Coller ne marche pas bien sous Ubuntu **entre** Emacs et les autres logiciels (Firefox etc..) Copier/​Coller ne marche pas bien sous Ubuntu **entre** Emacs et les autres logiciels (Firefox etc..)
-(Copier/​coller du type : surligner le texte=copier / bouton du milieu de la souris =coller. ) +(Copier/​coller du type : surligner le texte=copier / bouton du milieu de la souris =coller. )
 Il semblerait que Metacity (serveur graphique par défaut d'​Ubuntu) n'​implémente pas la '​Primary Selection'​ (~clipboard) ou bien que le middle click soit utilisé pour autre chose. Une solution est d'​installer //​parcellite//​. (à débattre) Il semblerait que Metacity (serveur graphique par défaut d'​Ubuntu) n'​implémente pas la '​Primary Selection'​ (~clipboard) ou bien que le middle click soit utilisé pour autre chose. Une solution est d'​installer //​parcellite//​. (à débattre)
 ==== Utilisation à 100% du CPU ==== ==== Utilisation à 100% du CPU ====
Ligne 318: Ligne 309:
 <​code>​sudo cp -v /​usr/​share/​emacs/​site-lisp/​semantic/​semantic-idle.elc //​usr/​share/​emacs-snapshot/​site-lisp/​semantic/</​code>​ <​code>​sudo cp -v /​usr/​share/​emacs/​site-lisp/​semantic/​semantic-idle.elc //​usr/​share/​emacs-snapshot/​site-lisp/​semantic/</​code>​
  
-sources (anglais): [[http://​www.togaware.com/​linux/​survivor/​Emacs_Using.html]]+sources (anglais): [[https://​www.togaware.com/​linux/​survivor/​Emacs_Using.html]]
  
  
 ===== Voir aussi ===== ===== Voir aussi =====
-  * [[http://​www.linux-france.org/​article/​appli/​emacs/​manuel/​html/​index.html|(fr) Manuel d'​Emacs]] + 
-  * [[http://​fr.wikibooks.org/​wiki/​Emacs|Le wikilivre sur emacs]], un projet de manuel collaboratif en Français sur Emacs. +  * [[https://​fr.wikibooks.org/​wiki/​Emacs|Le wikilivre sur emacs]], un projet de manuel collaboratif en Français sur Emacs. 
-  * [[http://​www.tuteurs.ens.fr/​unix/​editeurs/​emacs.html|Tutoriel Emacs sur le site des informaticiens de l'​ENS]]+  * [[https://​www.tuteurs.ens.fr/​unix/​editeurs/​emacs.html|Tutoriel Emacs sur le site des informaticiens de l'​ENS]]
   * [[http://​www.traduc.org/​docs/​HOWTO/​vf/​Emacs-Beginner-HOWTO.html|Débuter sous Emacs]]   * [[http://​www.traduc.org/​docs/​HOWTO/​vf/​Emacs-Beginner-HOWTO.html|Débuter sous Emacs]]
   * [[http://​www.gnu.org/​software/​emacs/​|(en) Le site officiel]]   * [[http://​www.gnu.org/​software/​emacs/​|(en) Le site officiel]]
   * [[http://​www.emacswiki.org/​cgi-bin/​emacs-en|Le vieux wiki (multilingue)]]   * [[http://​www.emacswiki.org/​cgi-bin/​emacs-en|Le vieux wiki (multilingue)]]
-  * [[http://​wikemacs.org/​index.php/​Main_Page | Le nouveau wiki (en anglais)]] +  * [[https://​wikemacs.org/​index.php/​Main_Page | Le nouveau wiki (en anglais)]] 
-  * [[http://​peadrop.com/​blog/​2007/​01/​06/​pretty-emacs/​|(en) Procédure d'​installation]]+  * [[https://​peadrop.com/​blog/​2007/​01/​06/​pretty-emacs/​|(en) Procédure d'​installation]]
   * [[http://​www.math.jussieu.fr/​~han/​emacs/​.emacs|Exemple de .emacs ou init.el sur le site de jussieu]]   * [[http://​www.math.jussieu.fr/​~han/​emacs/​.emacs|Exemple de .emacs ou init.el sur le site de jussieu]]
   * [[http://​groups.google.fr/​group/​fr.comp.text.tex/​browse_thread/​thread/​c3ad96f561ab0957/​9fd0c3bb812fde2e?​lnk=gst&​q=emacs+template#​9fd0c3bb812fde2e|Discussion utile sur google group à propos d'une utilisation d'​Emacs et de LaTeX]]   * [[http://​groups.google.fr/​group/​fr.comp.text.tex/​browse_thread/​thread/​c3ad96f561ab0957/​9fd0c3bb812fde2e?​lnk=gst&​q=emacs+template#​9fd0c3bb812fde2e|Discussion utile sur google group à propos d'une utilisation d'​Emacs et de LaTeX]]
-  * [[http://​www.emacswiki.org/​emacs/​AUCTeX|Sur AucTeX]] +  * [[https://​www.emacswiki.org/​emacs/​AUCTeX|Sur AucTeX]] 
-  * **(fr)** [[http://actual-it.info/2013/​emacs-org-mode/​|Installation & utilisation simple d'​Emacs]] - Plusieurs tutoriels sont disponibles en fin de page.+  * **(fr)** [[https://computerz.solutions/​emacs-org-mode/​|Installation & utilisation simple d'​Emacs]] - Plusieurs tutoriels sont disponibles en fin de page. 
 +  * la chaîne [[https://​www.youtube.com/​channel/​UCkRmQ_G_NbdbCQMpALg6UPg | Emacs Rocks]] sur Youtube
  
 ---- ----
  • emacs.1463226350.txt.gz
  • Dernière modification: Le 14/05/2016, 13:45
  • par 85.218.40.80