Sahid Ferdjaoui Blog - Funraill Foundation Bienvenue, Log in - thème 2007 RC1

Powered by OpenSource Softwares

Outil de déboggage colaborative
reduire

GNU Emacs, Fleuron du logiciel libre

le 17 avril 2007 par sahid

GNU Emacs, Editing macros

Présentation

Tout le monde connait Emacs, mais j’ai de nombreuses fois entendu qu’il était dépassé trop austÚre ou encore “compliqué” prendre en main, personnellement, la premiere fois que j’ai démarré emac, je n’ai pas réussi le fermer … ( ; néanmoins aujourd’hui je ne jure et ne développe que par lui. Pour présenter emacs, je vais utiliser un extrait du magnifique livre “Programmer avec les outils GNU” qui je pense définit dans ce petit paragraphe au mieux l’impact d’emacs dans le Logiciel Libre.

gnu emacs

“Fleuron du logiciel GNU, Emacs est aujourd’hui l’éditeur libre le plus répandu et, surtout, le plus apprécié du programme exigeant. Il consitue souvent un premier contact avec le monde du Logiciel Libre et, apres avoir taté de ses nombreuses fonctionnalités, beaucoup ne jurent plus que par lui. Pour notre part, nous pensons simplement que s’il fallait ne conserver qu’un seul outil gratuit, nous pencherions sans hésiter pour Emacs…” … et je suis de cet avis !

Pourquoi emacs est si compliqué

Tout d’abord emacs n’est pas compliqué, il utilise une certaine philosophie qui de nos jours disparait avec l’arrivée de la souris et du clic …Pourtant il me semble qu’en tant que développeur, la souris n’est pas trés utie, disons qu’elle gene meme, qui n’a jamais senti cette espece d’angoisse qu’on ressent en plein développement devoir déplacer notre poignet confortablement installé au chevet du clavier, pour attraper la souris et tripatouiller dans les menus pour trouver une option particuliere, ou encore se déplacer une certaine ligne ou je ne sais trop quoi.

Dompter Emacs

Il faut entrer dans le emacs, s’impregner de celui-ci, se coucher en pensant lui …et quelques semaines apres on se dit tous … “mais comment je faisais avant?” (:

Configurer Emacs

Emacs est véritablement modulable et c’est ce qui rend ce logiciel legerement deroutant au premier abord,
m’enfin les choses importantes a savoir :

  • Emacs lit a chaque démarrage son fichier de configuration “~/.emacs”, partir de lui on peut transformer emacs pour qu’il colle completement au doigt (;
  • la combinaison M-x “commande” permet d’executer une des milliers de commandes disponibles, ce qui est interessant c’est que la completion via la touche tab est fonctionnelle
  • C-x C-c permet de quitter emacs ( ;

Je ne vais pas lister ici toutes les commandes vraiment utiles pour dompter emacs, il existe deja pas mal de documents la dessus, je conseille meme d’utiliser l’excellent tutorial présent dans le logiciel (en francais).

Mon fichier de configuration

Pour ma part, mon fichier de configuration est plutot simple, disons que j’ajoute emacs certains modes qui ne sont pour l’instant toujours pas disponibles en natif, de plus j’ai ajouté quelques raccourcis que j’utilise largement.

Perso. j’utilise emacs et non xemacs …oui bah j’suis un fan de Barry White et autres Seventies (;

Vous pouvez telecharger le paquetage avec les modes sur le depot
http://.labs.funraill.org/pub

  1. ;; == Repertoire des bibliotheques
  2. (add-to-list ‘load-path “~/.emacs.libs”)
  3.  
  4. ;; == Numerotation des lignes
  5. ;(load "setnu")
  6. (load “wb-line-number”)
  7. (wb-line-number-enable)
  8.  
  9. ;; == Completion du code
  10. (load “completion”)
  11. (initialize-completions)
  12.  
  13. ;; == Possibilite de supprimer la selection
  14. (delete-selection-mode t)
  15.  
  16. ;; == Affiche l’heure
  17. (display-time-mode t)
  18.  
  19. ;; == Affiche le numero du caractere de la ligne
  20. (column-number-mode t)
  21.  
  22. ;; == Coloration syntaxique
  23. (global-font-lock-mode t)
  24.  
  25. ;; == Couleur zone selectionnee
  26. (transient-mark-mode t)
  27.  
  28. ;; == Force l’indentation a 2 espaces
  29. (custom-set-variables ‘(tab-width 2))
  30.  
  31. ;; == Force l’espacement de tabulation
  32. (setq-default indent-tabs-mode nil)
  33.  
  34. ;; == Configurations du clavier
  35. (global-set-key [(control j)] ‘complete)        ;; [Ctrl+Ret] Completion
  36. (global-set-key [(control g)] ‘goto-line)       ;; [Ctrl+G] Aller a la ligne indiqué
  37. (global-set-key [f9] ‘compile)                  ;; [F9] Commande compile
  38. (global-set-key [(control f)] ‘isearch-forward) ;; [Ctrl+F] Recherche
  39.  
  40. ;; == Edition de code PHP
  41. (autoload ‘php-mode “php-mode” t)
  42. (setq auto-mode-alist (append((\\.php$” . php-mode)) auto-mode-alist))
  43.  
  44. ;; == Edition de code Javascript
  45. (autoload ‘javascript-mode “javascript-mode” t)
  46. (setq auto-mode-alist (append((\\.js$” . javascript-mode)) auto-mode-alist))
  47.  
  48. ;; == Edition de code C/C++ style GNU
  49. (lambda ()
  50.   (c-set-style “gnu”)
  51.   (c-toggle-auto-state t)
  52.   (c-toggle-hungry-state t)
  53. )

2 commentaires pour GNU Emacs, Fleuron du logiciel libre

  1. carpentier dit :

    C’est un peux comme pour VI … vive les raccourcis claviers, vive le logiciel libre !

  2. korytion dit :

    Salut excuse moi, pour te citer, tu dis “j’ai de nombreuses fois entendu qu’il était dépassé trop austère ou encore “compliqué” à prendre en main”. En fait si il rebute énormément de monde justement c’est parce que en standard dans toutes les distrib c’est vi qui est installé par défaut, et justement tu dis que tu développes que par cet éditeur. Hors cet éditeur est énormément utiliser par les développeurs pour formater du code source ce qui n’est pas forcément utile pour un novice qui entreprend de migrer sur le système linux. Il est plus difficile à prendre en main par rapport a Vi mais possède de riches options surtout pour les développeurs ce qui fais sa force justement.
    Tout dépends l’utilisation que l’on en fait.

    Sur ceux bonne continuation et vive Linux

    Petite question personnel qu’as tu fais comme étude pour arriver à ce stade ?

Tu peux laisser un commentaire pour GNU Emacs, Fleuron du logiciel libre