Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Discussion: Votre config emacs

  1. #1
    Nouveau Membre du Club
    Profil pro Damien
    Étudiant
    Inscrit en
    décembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Nom : Damien
    Âge : 24
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2009
    Messages : 35
    Points : 30
    Points
    30

    Par défaut Votre config emacs

    Quel est votre config emacs ?

    Voici la mienne :

    .emacs
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    ;; Auto complettition                                                                                                                        
    (load-file "~/.emacs.d/expander.el")
    (load-file "~/.emacs.d/pulldown.el")
    (load-file "~/.emacs.d/auto-complete.el")
    (load-file "~/.emacs.d/auto-complete-config.el")
    (load-file "~/.emacs.d/auto-complete-extension.el")
     
    ;; Les skeleton                                                                                                                              
    (load-file "~/.emacs.d/skeleton.el")
     
    ;; Les auto                                                                                                                                  
    (load-file "~/.emacs.d/auto.el")
     
    ;; Les fonctions                                                                                                                             
    (load-file "~/.emacs.d/fonctions.el")
     
    ;; Pour le respet de la norme                                                                                                                
    (load-file "~/.emacs.d/norme.el")
     
    ;; Les raccourcis                                                                                                                            
    (load-file "~/.emacs.d/raccourcis.el")
     
    ;; Les truc utiles                                                                                                                           
    (load-file "~/.emacs.d/utils.el")
     
    ;; La personnalisation                                                                                                                       
    (load-file "~/.emacs.d/tunning.el")
     
    ;; Autre truc                                                                                                                                
    (load-file "~/.emacs.d/other.el")
    skeleton.el

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    ;; Skeleton des headers protege
    (define-skeleton insert-protect-header
      "Inserts a define to protect the header file."
      ""
      '(setq str (file-name-sans-extension
              (file-name-nondirectory (buffer-file-name))))
      "#ifndef __"(upcase str)"_H__\n"
      "# define __"(upcase str)"_H__\n"
      "\n"
      "\n"
      "\n"
      "#endif /* !__"(upcase str)"_H__ */\n")
     
    ;; Skeleton des Makefiles
    (define-skeleton create-makefile
      "Create a Makefile."
      ""
      "NAME        = \n"
      "\n"
      "SRCDIR        = src\n"
      "OBJDIR        = obj\n"
      "\n"
      "SRC        = \n"
      "\n"
      "LIB        = -Llib/ -lmy\n"
      "INC        = -I -Iinclude/\n"
      "\n"
      "OBJ        = $(SRC:.c=.o)\n"
      "CC        = /usr/bin/gcc\n"
      "CFLAGS        = -O2\n"
      "CDEBUG        = -W -Wall -ansi -pedantic -g -ggdb\n"
      "RM        = rm -f\n"
      "ECHO        = echo -e\n"
      "\n"
      "$(NAME)        : $(OBJ)\n"
      "          @$(CC) $(INC) $(CFLAGS) -o $(NAME) $(OBJDIR)/$(OBJ) $(LIB)\n"
      "          @$(ECHO) '\\033[0;32m> Compiled\\033[0m'\n"
      "\n"
      "clean        :\n"
      "          -@$(RM) $(OBJ)\n"
      "          -@$(RM) *~\n"
      "          -@$(RM) \#*\#\n"
      "          @$(ECHO) '\\033[0;35m> Directory cleaned\\033[0m'\n"
      "\n"
      "all        : $(NAME)\n"
      "\n"
      "fclean        : clean\n"
      "          -@$(RM) $(NAME)\n"
      "          @$(ECHO) '\\033[0;35m> Remove executable\\033[0m'\n"
      "\n"
      "re        : fclean all\n"
      "\n"
      ".PHONY        : all clean re\n"
      "\n"
      "debug        : $(OBJ)\n"
      "          @$(CC) $(INC) $(CDEBUG) -o $(NAME) $(OBJDIR)/$(OBJ) $(LIB)\n"
      "          @$(ECHO) '\\033[0;32m> Mode Debug: done\\033[0m'\n"
      "\n"
      ".c.o        : \n"
      "          $(CC) $(INC) $(CFLAGS) -o $(OBJDIR)/$@ -c $<\n")
    utils.el
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    ;; Lancer le man
    (defun vectra-man-on-word ()
      "Appelle le man sur le mot pointe par le curseur"
      (interactive)
      (manual-entry (current-word)))
     
    ;; Suppression des espaces en fin de ligne a l'enregistrement
    (add-hook 'c++-mode-hook '(lambda ()
      (add-hook 'write-contents-hooks 'delete-trailing-whitespace nil t)))
    (add-hook   'c-mode-hook '(lambda ()
      (add-hook 'write-contents-hooks 'delete-trailing-whitespace nil t)))
     
    ;; Laisser le curseur en place lors d'un defilement par pages.
    ;; Par defaut, Emacs place le curseur en debut ou fin d'ecran
    ;; selon le sens du defilement.
    (setq scroll-preserve-screen-position t)
     
    ;; Complette automatiquement ce que vous tapez dans le mini-buffer
    (icomplete-mode 1)
     
    ;; Pouvoir utiliser la completition sous emacs en ignorant la casse
    (setq completion-ignore-case t)
     
    ;; Supprime les fichier ~
    (setq make-backup-files nil)
     
    ;; parenthese em couleur
    (custom-set-variables
     '(show-paren-mode t))
    (custom-set-faces)
     
    ;; yes > y | no > n
    (fset 'yes-or-no-p 'y-or-n-p)
     
    ;; Affiche le numero de ligne et de colonne
    (column-number-mode t)
    (line-number-mode t)
     
    ;; Enlever le message au demarrage
    (setq inhibit-startup-message t)
     
    ;; Remplacer le texte selectionne si on tape
    (delete-selection-mode t)
     
    ;; Affiche l'heure au format 24h
    (setq display-time-24hr-format t)
    (setq displat-time-day-and-date t)
     
    ;; Sauvegarder la session
    (desktop-load-default)
    (desktop-read)
     
    ;; ido mode
    (require 'ido)
    (ido-mode t)
    (setq ido-enable-flex-matching t)
    raccourcis.el
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    ;; Reduit la fontion sur elle meme
    (add-hook 'c-mode-common-hook 'hs-minor-mode)
    (add-hook 'lisp-mode-hook 'hs-minor-mode)
    (add-hook 'emacs-lisp-mode-hook 'hs-minor-mode)
    (add-hook 'python-mode-hook 'hs-minor-mode)
    (global-set-key [f1] 'hs-hide-block)
     
    ;; Et la 'de'reduit
    (global-set-key [f2] 'hs-show-block)
     
    ;; F3 : lance le man sur le mot ou se trouve le curseur
    (global-set-key [f3] 'vectra-man-on-word)
     
    ;; F6 -> compiler
    (setq compilation-window-height 10)
    (setq compilation-window-width 10)
    (global-set-key [f6] `compile)
     
    ;; F7 -> GDB
    (setq-default gdb-many-windows t)
    (global-set-key [f7] `gdb)
     
    ;; F8 -> aller a la prochaine erreur de compilation
    (global-set-key    [f8] 'next-error)
    Et vous ?

  2. #2
    Membre habitué Avatar de feydaykyn
    Inscrit en
    septembre 2009
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 88
    Points : 106
    Points
    106

    Par défaut

    Super ta config, je vais tester :-)))) Merci !! Au passage, comment tu testes la norme ? (Si tu es bien à Epitech...)

    Il y en a que j'ai dû ne pas voir dans tes fichiers, désolé pour la redondance :

    Je mets en premier le plus utile pour moi, pour ceux qui codent sous Unix/Windows/Mac en même temps :
    ;Transform automatically end of line from mac/windows to unix
    (defun no-junk-please-were-unixish ()
    (let ((coding-str (symbol-name buffer-file-coding-system)))
    (when (string-match "-\\(?:dos\\|mac\\)$" coding-str)
    (setq coding-str
    (concat (substring coding-str 0 (match-beginning 0)) "-unix"))
    (message "CODING: %s" coding-str)
    (set-buffer-file-coding-system (intern coding-str)) )))
    (add-hook 'find-file-hooks 'no-junk-please-were-unixish)

    ;; Colorise en Rouge les espace
    (setq show-trailing-whitespace t)
    (setq-default show-trailing-whitespace t)

    ; Affiche la parenthese & Accolade parrente
    (require 'paren)
    (show-paren-mode)

    ; Affiche l'heure au format 24h
    (setq display-time-24hr-format t)
    (setq display-time-day-and-date t)

    ; surlignage d'une région sélectionnée
    (transient-mark-mode t)

    ; Activer la coloration syntaxique
    (global-font-lock-mode t)

    ; Supprime tous les espaces en fin de ligne
    ; http://www.splode.com/users/friedman...re/emacs-lisp/
    (autoload 'nuke-trailing-whitespace "whitespace" nil t)

    ; Mettre un titre aux fenêtres
    (setq frame-title-format '(buffer-file-name "Emacs: %b (%f)" "Emacs: %b"))

  3. #3
    Nouveau Membre du Club
    Profil pro Damien
    Étudiant
    Inscrit en
    décembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Nom : Damien
    Âge : 24
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2009
    Messages : 35
    Points : 30
    Points
    30

    Par défaut

    Lol oui je suis a epitech, mais je ne verifie pas la norme automatiquement pour le moment.

    les fichier qui manque sont principalement le mode auto-complete [ici]

    Pour une verification syntaxique j'ai vu un tit mode sympas, mais pas trop compris comment il marcher encore (il y a des explication sur youtube), flymake

    Il y a aussi auto, qui effectue certaine action quand on ouvre un fichier en particulier (genre .h vide, alors il le protege)

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ;; Si Makefile vide, creer une makefile                                                                                                      
    (add-hook 'find-file-hook
              (lambda()
                (if (and
                     (string-match "\\Makefile$" (buffer-file-name))
                     (= (buffer-size) 0))
                    (create-makefile))))
     
    ;; Si header vide, creer un header protege                                                                                                   
    (add-hook 'find-file-hook
              (lambda()
                (if (and
                     (string-match "\\.h$" (buffer-file-name))
                     (= (buffer-size) 0))
                    (insert-protect-header
                     (goto-line 13)))))

  4. #4
    Nouveau Membre du Club
    Inscrit en
    octobre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : octobre 2005
    Messages : 57
    Points : 39
    Points
    39

    Par défaut

    C'est interessant. Ce que je cherche plutot, c'est comment avoir la completion sur les noms presents par include (et eventuellement, avoir par defaut ceux venant des entetes standard) facilement ...

    La derniere fois que j'avais recherchee c'etait a base de etags mais trop complexe a mettre en oeuvre.

  5. #5
    Invité de passage
    Inscrit en
    juillet 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : juillet 2010
    Messages : 4
    Points : 3
    Points
    3

    Par défaut

    J'ai découvert ça récemment :

    http://cedet.sourceforge.net/

    je viens de l'installer et je suis sous windows au boulot donc j'ai pas encore pu vraiment tester
    Mais ça à l'air de gérer correctement une vraie auto-complétion "intelligente", qui suit les .h, comprends un minimum l'architecture du projet et propose une complétion pertinente

  6. #6
    Expert Confirmé Avatar de jabbounet
    Homme Profil pro frederic frances
    Consultant informatique
    Inscrit en
    juin 2009
    Messages
    1 908
    Détails du profil
    Informations personnelles :
    Nom : Homme frederic frances
    Âge : 38

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : juin 2009
    Messages : 1 908
    Points : 2 688
    Points
    2 688

    Par défaut

    ma config emacs est assez compliquée, il me faudra la retravailler avec emacs 24

    En gros elle me permet d'utiliser les éléments suivant (pour le C++ principalement):
    - flymake + extension + un modif perso
    - autocomplete
    - autocomplete gtags,
    - tempo cpp (pour generer du code sur certains raccurcis)
    - Quelques parser maison pour analyser les fichier pondu par les application sur lesquelle je travaille
    - un simulateur tcp (tout en lisp qui écoute sur un port et qui simule les réponse faite aux applis)
    - Un mode me permettant de naviguer plus facilement dans les différents projets (tournat sous windows et linux et initialement pense pour visual studio)
    - quelque générateurs de données pour des tests.
    - ...
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  7. #7
    Invité régulier
    Profil pro gilles
    Étudiant
    Inscrit en
    septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Nom : gilles

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2011
    Messages : 13
    Points : 6
    Points
    6

    Par défaut sml-mode dans Emacs

    bonjour
    Es ce que quelqu'un peut m'aidez pour integer SML NJ à Emacs afin d'amelier la convivialité de l'interface graphique et l'indentation sous Emacs.
    Car en fait j'ai installer les deux applis mais j'ai des problemes de comfiguration.
    Merci

  8. #8
    Expert Confirmé Avatar de jabbounet
    Homme Profil pro frederic frances
    Consultant informatique
    Inscrit en
    juin 2009
    Messages
    1 908
    Détails du profil
    Informations personnelles :
    Nom : Homme frederic frances
    Âge : 38

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : juin 2009
    Messages : 1 908
    Points : 2 688
    Points
    2 688

    Par défaut

    Je viens de faire une recherche rapide, SML/NJ est un langage fonctionnel, il n'a pas grand chose a voir avec l'interface d'emacs.

    Il n'y a pas besoin d'installer SML NJ pour rendre emacs plus convivial (coloration syntaxique, complétion automatique, indentation, ...) beaucoup de ces choses sont déjà présente nativement même s'il elle peuvent être un peu caché.

    A moins que ton travaille tourne autour de SML/NJ (développement d'application, travaux sur les langage fonctionnels, ...) il n'est pas utile d'installer un mode spécifique pour ce langage.

    Sémantique mise à part quelques liens pour débuter sous emacs

    En premier conseil je te dirais d'abord d'essayer de te familiariser avec les commandes de bases, en ajoutant des configurations basique tel que la coloration syntaxique et l'indentation automatique par exemple.

    un fois familiarisé avec les bases tu pourras commencer a chercher a intégrer des éléments plus avancés qui te paraissent intéressants.

    http://ensiwiki.ensimag.fr/index.php/Emacs
    http://www.emacswiki.org/
    http://ergoemacs.org/emacs/emacs_ins..._packages.html
    http://www.dotemacs.de/about.html
    ...
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •