53 votes

Qu'est-ce qu'il y a dans votre .emacs ?

J'ai changé d'ordinateur plusieurs fois ces derniers temps, et quelque part, j'ai perdu mon .emacs. J'essaie de le reconstituer, mais pendant que j'y suis, j'ai pensé que je pourrais prendre d'autres bonnes configurations que d'autres personnes utilisent.

Ainsi, si vous utilisez Emacs, ce qui se trouve dans votre .emacs ?

La mienne est plutôt stérile en ce moment, elle ne contient que des objets :

  1. Mode de verrouillage global des polices ! (global-font-lock-mode 1)
  2. Mes préférences personnelles en ce qui concerne l'indentation, les tabulations et les espaces.
  3. Utilisez cperl-mode au lieu de perl-mode.
  4. Un raccourci pour la compilation.

Que pensez-vous qu'il soit utile ?

45voto

bortzmeyer Points 12246

Utilisez le site ultime de dotfiles . Ajoutez votre '.emacs' ici. Lisez les '.emacs' des autres.

27voto

Jason Dufair Points 447

Mon extrait préféré. Le summum de l'esthétique Emacs :

;; real lisp hackers use the lambda character
;; courtesy of stefan monnier on c.l.l
(defun sm-lambda-mode-hook ()
  (font-lock-add-keywords
   nil `(("\\<lambda\\>"
   (0 (progn (compose-region (match-beginning 0) (match-end 0)
        ,(make-char 'greek-iso8859-7 107))
      nil))))))
(add-hook 'emacs-lisp-mode-hook 'sm-lambda-mode-hook)
(add-hook 'lisp-interactive-mode-hook 'sm-lamba-mode-hook)
(add-hook 'scheme-mode-hook 'sm-lambda-mode-hook)

Ainsi, vous voyez par exemple ce qui suit lorsque vous éditez lisp/scheme :

(global-set-key "^Cr" '(λ () (interactive) (revert-buffer t t nil)))

21voto

Dave Webb Points 90034

J'ai ceci à changer yes o no pour y o n les invites :

(fset 'yes-or-no-p 'y-or-n-p)

J'ai ces derniers pour démarrer Emacs sans trop de "fanfare" que j'ai obtenu de cette question .

(setq inhibit-startup-echo-area-message t)
(setq inhibit-startup-message t)

Et Steve Yegge pour renommer un fichier que vous êtes en train d'éditer ainsi que son tampon correspondant :

(defun rename-file-and-buffer (new-name)
  "Renames both current buffer and file it's visiting to NEW-NAME."
  (interactive "sNew name: ")
  (let ((name (buffer-name))
 (filename (buffer-file-name)))
    (if (not filename)
 (message "Buffer '%s' is not visiting a file!" name)
      (if (get-buffer new-name)
   (message "A buffer named '%s' already exists!" new-name)
 (progn
   (rename-file name new-name 1)
   (rename-buffer new-name)
   (set-visited-file-name new-name)
   (set-buffer-modified-p nil))))))

18voto

jamesnvc Points 848

Une chose qui peut s'avérer très utile : Avant qu'il ne devienne trop gros, essayez de le diviser en plusieurs fichiers pour diverses tâches : Mon .emacs ne fait que définir mon chemin de chargement et charge un tas de fichiers - j'ai tous mes paramètres spécifiques au mode dans mode-configs.el les liaisons de touches dans keys.el et cetera

15voto

Borbus Points 313

Mon .emacs ne fait que 127 lignes, voici les petits bouts les plus utiles :

;; keep backup files neatly out of the way in .~/
(setq backup-directory-alist '(("." . ".~")))

Ainsi, les fichiers *~ qui encombrent le répertoire sont placés dans un répertoire spécial, dans ce cas .~.

;; uniquify changes conflicting buffer names from file<2> etc
(require 'uniquify)
(setq uniquify-buffer-name-style 'reverse)
(setq uniquify-separator "/")
(setq uniquify-after-kill-buffer-p t) ; rename after killing uniquified
(setq uniquify-ignore-buffers-re "^\\*") ; don't muck with special buffers

Cela met en place uniquify qui change ces affreux noms tampons file<2> etc. que l'on obtient lorsque plusieurs fichiers ont le même nom, en un nom beaucoup plus net et sans ambiguïté, utilisant autant que possible le chemin complet du fichier.

C'est à peu près tout... le reste est assez standard et je suis sûr que tout le monde le sait.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X