Aller au menu - Aller au contenu

Votre premier .emacs : la configuration d'Emacs pour les zéros

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1 
Pseudo Commentaire
Page 1 
Hors ligne rotoclap-le-connard # Posté le 04/05/2008 à 10:53:32
Groupe : Bannis

Pas assez d'image moi qui avais jamais vu de .emac je voulait voir un petit écran ^^ .
Hors ligne rotoclap-le-connard # Posté le 04/05/2008 à 10:54:41
Groupe : Bannis

Oups la note 17 !
Hors ligne casper # Posté le 04/05/2008 à 11:04:56

Je dois bien dire que s'il manquait bien une chose sur ce site c'est la bien une configuration de base d'Emacs vu le nombre de fois que son nom a été cité ;-).

Un grand merci à toi, car c'est bien connu avant de savoir qu'Emacs c'est bien, un petit aperçu pour se motiver n'est jamais de trop :-p.
Hors ligne noluz # Posté le 04/05/2008 à 11:06:09

Yo rz0 :p Bravo pour le tuto
Juste deux-trois trucs:
- Dans la liste des modificateurs, tu as zappé super ("s", la touche "windows");
- Je sais qu'il n'y a pas de coloration Emacs lisp, mais pourquoi ne pas mettre celle du Common Lisp ? ça sera déjà ça;
- La fonction kbd permet de noter le raccourcis claviers comme on en a l'habitude:
Code : Common Lisp
1
2
3
4
; Ceci:
(kbd "C-c h")
; Est équivalent à celà:
"\C-ch"
c'est plus simple à retenir je pense, pourquoi ne pas le présenter ?

PS: hum pour la coloration faut voir si c'est dans mdown btw :-'
Hors ligne nax # Posté le 04/05/2008 à 11:30:13
Avatar

Avis : Très bon

Ville : Brest
Pays : France métropolitaine

Intéressant c'est une bonne base pour apprendre à configurer emacs, ce qui est loin d'être évident lorsque que l'on débute.
Tu aurais pu présenter la fonction goto-line qui est très utile. Et pour les thèmes, il y a la page : http://www.cs.cmu.edu/~maverick/GNUEma [...] /index-c.html qui peut servir.

Merci ;)

Projets : SDZAPI | Github
Tuto : Les captchas
 
Connecté rz0 # Posté le 04/05/2008 à 11:37:52
Papa Ours.
Avatar
Flux RSS

Études : Ensimag

Merci pour les commentaires.

Pour la question des captures d'écran, bah, le .emacs est un fichier texte donc il n'y a pas grand chose à mettre en screenshot. ^^

Pour zulon, Super n'est pas une touche qui sert beaucoup et dont l'emplacement et l'usage varie grandement d'un système à un autre (je ne l'ai même plus sur mon keymap), c'est pour cela que je ne l'ai pas mise. Pour ce qui est de kbd, pourquoi pas ; et la coloration, je dois avouer que mdown a généré le fichier et étant donné qu'il ne gère pas (encore) les colorations syntaxiques du SdZ, je n'ai pas pensé à les rajouter. :p J'essaierai de faire ça pour la prochaine version.

Pour Arnaud, je n'ai cité que les fonctions qui ne sont pas présentes dans le keymap par défaut d'Emacs, hors depuis Emacs 22, goto-line est sur M-g M-g ; ce serait redondant de le mettre ailleurs.
 
Hors ligne Yno # Posté le 04/05/2008 à 12:16:34
Avatar
Flux RSS

Enfin un tuto Emacs ! (et pas par n'importe qui en plus) C'est vrai qu'il était temps de montrer aux zéros ce qu'est un vrai éditeur.
Bon, et sinon il va falloir que j'essaye mdown. D'ailleurs à ce propos, tu devrais lui rajouter une fonction d'export en format de fichier pour dvp.com (c'est du XML), bon 'fin j'dis ça comme ça, tu pourrais le rajouter dans ta TODO list par exemple :-°
 
Hors ligne Natim # Posté le 04/05/2008 à 14:42:39
Apprendre à coder c'est coder
Avatar
Groupe : Anciens
Flux RSS

Ville : Belfort
Pays : France métropolitaine

Ouao !
Je suis super content d'avoir trouvé ce tuto pour mon éditeur favori :)
Merci il y a pleins de trucs que je n'avais pas pris le temps de configurer et qui maintenant fonctionne à merveille.

Merci rz0 :)

Par contre tu aurais pu parler des commentaires dans le fichier emacs ...
Voici mon fichier après la lecture du tuto
Code : Common Lisp
 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
; Ici on parle UTF-8
(set-language-environment "UTF-8")

; Fichier de Customize
(setq custom-file "~/.emacs-custom.el")
(load custom-file)

; On supprime ce qui est inutile (Barre d'outils, scroll)
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)

; On affiche le numéro de colonne
(column-number-mode t)

; On fais des retours lignes automatiques même avec des fenêtres côtes à côtes
(setq truncate-partial-width-windows nil)

; Plus de ring-bell
(setq ring-bell-function 'ignore)

; Affichage de l'heure
(display-time-mode t)

; Ctrl-c r pour afficher le rechercher/remplacer
(global-set-key "\C-cr" 'replace-string)

; Ctrl-c n pour aller au buffer suivant
(global-set-key "\C-cn" 'bury-buffer)

; Ctrl-c w pour quitter le buffer courant
(global-set-key "\C-cw" 'kill-this-buffer)

; On indente avec des espaces
(setq indent-tabs-mode nil)


Pourquoi n'as-tu pas colorer ton code ? :-°
 
Hors ligne khris_adh # Posté le 04/05/2008 à 14:54:10
Avatar

Études : IUT Rennes

Très bon tuto, efficace et clair, 18.

Voici mon .emacs (j'ai rajouté quelque fonctions qui ne sont pas citées dans ce tuto, si ça peu aider quelqu'un):

Code : Common Lisp
 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
;Fixe le codage des caractères
(set-language-environment "UTF-8")


;; Efface le menu, scroll, barre d'outil.
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)

;; Affiche le numéro de la colonne.
(column-number-mode t)


;; Empêche Emacs de tronquer les lignes trop longue.
(setq truncate-partial-width-windows nil)

;; Ceci   ajoute un menu   « Functions » qui permet   de conduire à n'importe
;; quelle fonction dans le buffer en quelques clics.
;; (A ajouter seulement si vous n'avez pas attribué la valeur -1 à menu-bar-mode).
(add-hook 'c-mode-hook '(lambda nil
              (interactive)
              (imenu-add-to-menubar "Functions")))


;; Change la valeur de l'indentation.
(setq c-basic-offset 8)

(setq auto-mode-alist  ;; Active le mode majeur en lien avec
      (append '(       ;; l'extension du fichier.
        ("\\.C$"       . c++-mode)
        ("\\.cc$"      . c++-mode)
        ("\\.hh$"      . c++-mode)
        ("\\.pov$"     . c++-mode)
        ("\\.inc$"     . c++-mode)
        ("\\.c$"       . c-mode)
        ("\\.h$"       . c-mode)
        )
          auto-mode-alist)
      )

;; Thème d'interface utilisé. Vous les trouverez grâce au mode "M-x color-theme-select").
(require 'color-theme)
(color-theme-matrix)   ;; Ici Le thème matrix est utilisé.

;; N'affiche pas le buffer de démarrage.
(setq inhibit-startup-message t)
(put 'downcase-region 'disabled nil)

;; Les 'beep' deviennent visibles (et non plus audibles).
(setq visible-bell t)

>Screenshot de mon Emacs<

«La chose la plus miséricordieuse en ce bas monde est l’incapacité de l’esprit humain à mettre en corrélation toutes les informations qu’il contient.» Howard Phillips Lovecraft
 
Connecté rz0 # Posté le 04/05/2008 à 17:10:34
Papa Ours.
Avatar
Flux RSS

Études : Ensimag

J'ai édité le tuto pour prendre en compte les commentaires :
- j'ai rajouté la coloration syntaxique Lisp
- j'ai parlé des commentaires
- j'ai remplacé les chaînes natives par l'usage de kbd
 
Hors ligne noluz # Posté le 05/05/2008 à 17:54:51

Code : Common Lisp
 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
;; .emacs.el

;; Environment
(set-language-environment "UTF-8")

;;; Display
;; Clean
(menu-bar-mode nil)
(scroll-bar-mode nil)
(tool-bar-mode nil)
(setq inhibit-startup-message t)
(column-number-mode t)
(line-number-mode t)

;; Time
(display-time-mode t)
(setq display-time-string-forms '(24-hours ":" minutes))

;; Customize
(setq custom-file "~/.emacs-custom.el")
(load custom-file)


;;; Shortcuts
;; Indent all the buffer
(defun indent-whole ()
  (interactive)
  (mark-whole-buffer)
  (indent-region (region-beginning) (region-end))
  )
(global-set-key (kbd "C-c t") 'indent-whole)

(global-set-key (kbd "C-c k") 'kill-this-buffer)

;;; Editing
;; Tabs are evil !
(setq-default indent-tabs-mode nil)

;; C indent
(setq tab-width 4
      c-default-style "k&r"
      c-block-comment-prefix ""
      c-basic-offset 4)


;;; Trivia
;; Ask y/n instead yes/no
(fset 'yes-or-no-p 'y-or-n-p)

;; Featured switch-to-buffer
(iswitchb-mode t)

;; Tetris :D
(defadvice tetris-end-game (around zap-scores activate)
  (save-window-excursion ad-do-it))

;; Fortune
(require 'fortune)
(setq fortune-dir "/usr/share/fortune")
(setq fortune-file "/usr/share/fortune/fortunes")

Puisque la mode est au montrage de son .emacs :D .
Sinon rz0 merci d'avoir pris en compte mes remarques :) (je répond un peu tard c'est vrai :-° ).
Hors ligne geenux # Posté le 06/05/2008 à 21:30:23
Vive Qt
Avatar

Ville : Brest
Pays : France métropolitaine

Code : Common Lisp
 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
;;;;; UN PLUGIN GENIAL POUR LA COMPLETITION!!! 
;;;;; http://www.youtube.com/watch?v=18xYbPCJOho&NR=1  : installation et utilisation ;;;;
(add-to-list 'load-path
			 "~/.emacs.d/plugins")
(require 'yasnippet-bundle)



(set-language-environment "UTF-8")

;;Pour changer facilement de buffer
(iswitchb-mode 1)

;;Le style d'indentation
(setq c-default-style "k&r")
;;Largeur des indentation
(setq c-basic-offset 8)
;;; Shortcuts
;; Indent all the buffer
(defun indent-whole ()
  (interactive)
  (mark-whole-buffer)
  (indent-region (region-beginning) (region-end))
  )
(global-set-key (kbd "C-c t") 'indent-whole)


;;Pour avoir l'heure dans emacs
(display-time-mode t)

; On fais des retours lignes automatiques même avec des fenêtres côtes à côtes
(setq truncate-partial-width-windows nil)

;;; Trivia
;; Ask y/n instead yes/no
(fset 'yes-or-no-p 'y-or-n-p)


Voilà mon .emacs. Je vous conseille le plugin yasnippet, vraiment très pratique.
Merci pour ce tuto, ça m'a permis de comprendre un peu la logique du lisp.
Hors ligne noluz # Posté le 07/05/2008 à 07:48:11

geenux: J'ai comme l'impression d'avoir vu certains trucs autre part :-°
Pour yasnippet, dabbrev c'est bien aussi hein :)
Hors ligne SparSio # Posté le 03/02/2011 à 15:28:15
Avatar

Études : Epitech Paris

Bon et bien puisque c'est la mode, voici mon .emacs...
Je l'ai fait il a quelques annee deja donc je n'y est pas retouche depuis...

Sinon bon tuto pour debuter.

Code : Common Lisp
  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
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
;;auto-complete                                                                                                                                                                       
(add-to-list 'load-path "~/.emacs.d/plugins/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/plugins//ac-dict")
(ac-config-default)

;; ;;yasnippet                                                                                                                                                                        
(add-to-list 'load-path
             "~/.emacs.d/plugins/yasnippet-0.6.1c/")
(require 'yasnippet)
(yas/initialize)
(yas/load-directory "~/.emacs.d/plugins/yasnippet-0.6.1c/snippets")


(load "~/.emacs.d/plugins/std_comment.el")

;;php-mode                                                                                                                                                                            
(load-file "~/.emacs.d/plugins/php-mode.el")
                                                                                                                                                                                      

(setq auto-mode-alist
      (cons '("\\.html" . html-mode) auto-mode-alist))
(setq auto-mode-alist
      (cons '("\\.tpl" . html-mode) auto-mode-alist))
(setq auto-mode-alist
      (cons '("\\.php" . php-mode) auto-mode-alist))

;;--------------------------COLORS----------------------------------------------                                                                                                      
(custom-set-faces
 '(default ((t (:foreground "#dddddd" :weight light))))
 '(cursor ((t (:background "chartreuse"))))
 '(highlight ((t (:background "gray20" :height 1.0 :weight bold))))
 '(mouse ((t (:background "white"))))
 '(vertical-border ((t (:foreground "white"))))

 '(font-lock-comment-face ((t (:foreground "#888888" :slant italic))))
 '(font-lock-comment-delimiter-face ((t (:foreground "red"))))
 '(font-lock-string-face ((t (:foreground "chocolate3"))))
 '(font-lock-keyword-face ((t (:foreground "orangered1" :weight bold))))
 '(font-lock-preprocessor-face ((t (:foreground "lawn green"))))
 '(font-lock-constant-face ((t (:foreground "green"))))
 '(font-lock-type-face ((t (:foreground "red"))))
 '(font-lock-builtin-face ((t (:foreground "cornflower blue"))))
 '(font-lock-function-name-face ((default (:foreground "cyan"))))
 '(font-lock-variable-name-face ((default (:foreground "purple" :weight bold))))
 '(font-lock-warning-face ((t (:foreground "yellow" :underline "red"))))

 '(mode-line ((default (:foreground "white" :background "#444444"))))
 '(mode-line-inactive ((default (:foreground "#AAAAAA" :background "#222222"))))
)
;;------------------------------------------------------------------------------                                                                                                      


;; Bold line                                                                                                                                                                          
(global-hl-line-mode t)
(custom-set-faces
 '(highlight ((t (:weight bold)))))

;;Desactiver msg depart                                                                                                                                                               
(setq inhibit-startup-message t)

(global-set-key [f1] 'delete-trailing-whitespace)
(global-set-key [f2] 'compile)
(global-set-key [f3] 'split-window-horizontally)
(global-set-key [f4] 'split-window-vertically)
(global-set-key [f5] 'other-window)

(global-set-key [f6]'comment-region)
(global-set-key [S-f6]'uncomment-region)

(global-set-key [f7] 'std-file-header)
(global-set-key [f8] 'shell)
(global-set-key [f9] 'delete-other-windows)
(global-set-key [f11] 'comment-or-uncomment-region)
(global-set-key [f12] 'global-linum-mode)

(global-set-key [S-right] 'other-window)
(global-set-key [S-left] 'other-window)

(global-set-key [C-M-left] 'tabbar-backward)
(global-set-key [C-M-right] 'tabbar-forward)                                                                                                                                          

;; Fleches                                                                                                                                                                            
(global-set-key [C-right]  'enlarge-window-horizontally)
(global-set-key [C-left]  'shrink-window-horizontally)
(global-set-key [C-up]  'shrink-window)
(global-set-key [C-down]  'enlarge-window)
(global-set-key [A-left]  'backward-word)
(global-set-key [A-right] 'forward-word)
(global-set-key [A-up]    'backward-paragraph)
(global-set-key [A-down]  'forward-paragraph)
(global-set-key [S-right]  'windmove-right)
(global-set-key [S-left]  'windmove-left)
(global-set-key [select]  'windmove-up)
(global-set-key [S-down  'windmove-down)

;;supr                                                                                                                                                                                
(normal-erase-is-backspace-mode)

;;parentheses                                                                                                                                                                         
(show-paren-mode)

;; molette souris                                                                                                                                                                     
(mouse-wheel-mode t)

;;colonnes                                                                                                                                                                            
(setq column-number-mode t)

;;fenetre de compil little                                                                                                                                                            
(setq compilation-window-height 25)

;; pour que l'on n'ait pas a taper sur TAB pour indenter                                                                                                                              
(setq c-auto-newline t)

;;surbrillance de la region                                                                                                                                                           
(setq transient-mark-mode t)

;;affiche les espaces inutile                                                                                                                                                         
(setq-default show-trailing-whitespace t)

;;couleur en mode shell                                                                                                                                                               
(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
(defun to-bottom () (interactive) "Recenter screen so that current                                                                                                                    
line is on the bottom of the screen"
  (recenter -1)
  )
(defun set-key-to-bottom () (interactive)
  (local-set-key "\C-l" 'to-bottom)                                                                                                                                                   
  )
(add-hook 'shell-mode-hook 'set-key-to-bottom)

;;(tool-bar-mode nil)                                                                                                                                                                 
;;(menu-bar-mode nil)                                                                                                                                                                 
;;(scroll-bar-mode nil)                                                                                                                                                               

;;mail news...                                                                                                                                                                        
(setq user-full-name "****")
(setq user-mail-address "*******")
(setq smtpmail-default-smtp-server "*******")
(setq send-mail-function 'smtpmail-send-it)
(load-library "smtpmail")
(custom-set-variables
  ;; custom-set-variables was added by Custom.                                                                                                                                        
  ;; If you edit it by hand, you could mess it up, so be careful.                                                                                                                     
  ;; Your init file should contain only one such instance.                                                                                                                            
  ;; If there is more than one, they won't work right.                                                                                                                                
 '(jabber-account-list (quote (("****" (:password . "******") (:network-server . "talk.google.com") (:port . 5222) (:connection-type . ssl)))))
 '(jabber-default-show "")
 '(mail-signature t))

;; Display 24 Hours Time                                                                                                                                                              
(display-time)
(setq display-time-24hr-format t)

;; Pour ne pas avoir à taper en entier la réponse yes/no                                                                                                                              
(fset 'yes-or-no-p 'y-or-n-p)
; Affichage des images et fichiers compressés                                                                                                                                         
(setq auto-image-file-mode t)
(setq auto-compression-mode t)

; Molette de la souris                                                                                                                                                                
(defun up-slightly () (interactive) (scroll-up 5))
(defun down-slightly () (interactive) (scroll-down 5))
(global-set-key [mouse-4] 'down-slightly)
(global-set-key [mouse-5] 'up-slightly)
(defun up-one () (interactive) (scroll-up 1))
(defun down-one () (interactive) (scroll-down 1))
(global-set-key [S-mouse-4] 'down-one)
    (global-set-key [S-mouse-5] 'up-one)
(defun up-a-lot () (interactive) (scroll-up))
(defun down-a-lot () (interactive) (scroll-down))
(global-set-key [C-mouse-4] 'down-a-lot)
(global-set-key [C-mouse-5] 'up-a-lot)

;; dictionnaire francais pour la correction orthographique ispell                                                                                                                     
(setq ispell-dictionary "francais")

;; format jour/mois/an pour le calendrier (M-x calendar)                                                                                                                              
(setq european-calendar-style t)

;; la semaine commence le lundi                                                                                                                                                       
(setq calendar-week-start-day 1)

;; jours et mois en francais dans le calendrier                                                                                                                                       
(defvar calendar-day-abbrev-array
  ["dim" "lun" "mar" "mer" "jeu" "ven" "sam"])
(defvar calendar-day-name-array
  ["dimanche" "lundi" "mardi" "mercredi" "jeudi" "vendredi" "samedi"])                                                                                                                
(defvar calendar-month-abbrev-array
  ["jan" "fév" "mar" "avr" "mai" "jun"
   "jul" "aou" "sep" "oct" "nov" "déc"])
(defvar calendar-month-name-array
  ["janvier" "février" "mars" "avril" "mai" "juin"
   "juillet" "aout" "septembre" "octobre" "novembre" "décembre"])

                        ;; PHP - HTML - CSS                                                                                                                                           

;; Manuel php en français                                                                                                                                                             
(setq php-manual-url "http://www.nexen.net/docs/php/annotee/manual.php")

;; Utiliser le html-helper-mode, http://www.gest.unipd.it/~saint/hth.html                                                                                                             
(autoload 'php-html-helper-mode "html-helper-mode" "html-helper-mode" t)

;; Utiliser le menu expert                                                                                                                                                            
(setq html-helper-use-expert-menu t)
;; Indenter automatiquement lorsque l'on appuie sur entrée                                                                                                                            
(defun my-html-helper-load-hook ()
  (define-key html-mode-map (kbd "RET") 'newline-and-indent)
  )
(add-hook 'html-helper-load-hook 'my-html-helper-load-hook)

;; Utiliser PSGML pour les fichiers SGML, HTML, XML                                                                                                                                   
(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t)
(autoload 'xml-mode "psgml" "Major mode to edit XML files." t)



(setq-default indent-tabs-mode nil)

;;Indentation                                                                                                                                                                         
(setq tab-width 4
      c-default-style "k&r"
      c-block-comment-prefix ""
      c-basic-offset 4)
(setq truncate-lines t)
(set-language-environment "UTF-8")

Mieux vaut fermer sa gueule et passer pour un con plutôt que de l'ouvrir et ne laisser aucun doute à ce sujet !!
Image utilisateur

 
Hors ligne vince9251 # Posté le 11/09/2011 à 14:08:24
Besoin d'aide ?
Avatar

Ville : Sceaux
Pays : France métropolitaine

Ce serait géniale si tu pouvais rajouter une partie pour utiliser avec le langage CAml, parce que j'arrive pas à le configurer!

Citation : Backtrack
The quieter you become, the more you are able to hear...Traduction

Backtrack site officiel
 
Pour accéder à cette section
Connectez-vous !
connexion_rpx