;;; -*- coding: utf-8-unix -*- ;;;+----------------------------------------------------------+ ;;;| | ;;;| Seki's dotemacs | ;;;| | ;;;+----------------------------------------------------------+ ;;; Time-stamp: <08/01/2017 18:28 seb@macseb.seki.fr> ;; ;; This .emacs is the result of a never finished tuning process of ;; tailoring the one-editor to my needs and habits, in addition to the ;; utilisation of Emacs on a various list of systems each having ;; its own features and limitiations. ;; ;; It includes the reusing of the configuration files found in the ;; web, the compilation of some code snippets, and also interactions ;; with other users via the newsgroups or IRC. ;; ;; Thanks to : ;; - fr.comp.applications.emacs ;; - gnu.emacs.help ;; - Sébastien Dinot <sebastien.dinot@free.fr> ;; - Mathieu Roy <yeupou@gnu.org> ;; - Matthieu Moy <http://www-verimag.imag.fr/~moy/emacs/> ;; - Florent Georges (aka drkm on fca.emacs and also for his drkm-lib ;; http://drkm-lib.sourceforge.net/) ;; - Emacs Wiki : <http://www.emacswiki.org/> ;; - DotEmacs : <http://www.dotemacs.de/> ;; ;; Look here to access the dedicated mailing-lists and their archives : ;; <http://savannah.gnu.org/mail/?group_id=40> ;;;============================================================ ;;; Définition de l'environnement ;; Déterminer si on emploie Emacs ou XEmacs (defvar sk:is-xemacs (string-match "XEmacs" emacs-version) "Variable interne différente de nil si on est dans XEmacs") ;;chez moi (defvar sk:home (expand-file-name "~") "Home sweet home") ;;(if sk:is-xemacs ;; (setq sk:home (expand-file-name sk:home))) ;; Ajouter mon répertoire personnel à la liste des chemins de recherche ;(defvar sk:elisp-path (concat sk:home "/.elisp") "Chemin vers mes packages elisp") (defvar sk:elisp-path "~/.elisp" "Chemin vers mes packages elisp") ;(if sk:is-xemacs ; (setq sk:elisp-path (expand-file-name sk:elisp-path))) ;(message (format "%s" load-path)) (add-to-list 'load-path sk:elisp-path) (progn (cd sk:elisp-path) (normal-top-level-add-subdirs-to-load-path) (cd sk:home)) ;(message (format "%s" load-path)) ;; chemin d'un Gnus custom (si présent) (let ((gnusp (concat sk:elisp-path "/gnus"))) (when (file-exists-p gnusp) (add-to-list 'load-path gnusp))) ;; localisation des fichiers gnus (ne peut pas être dans .gnus !) (setq gnus-home-directory (concat sk:home "/.gnus.d")) (setq message-directory (concat gnus-home-directory "/Mail")) (setq gnus-directory (concat gnus-home-directory "/News")) (setq gnus-agent-directory (concat gnus-home-directory "/agent")) ;; Gnus est notre courielleur (setq read-mail-command 'gnus) ;marche pas terrible ? (setq mail-user-agent 'gnus-user-agent ;smtpmail-default-smtp-server "lumiere.ens.fr" ;smtpmail-smtp-server "lumiere.ens.fr" ;message-mail-user-agent 'gnus-user-agent ) ;; on a un environnement français (set-language-environment 'French) ;met à dispo latin-1 et latin-9 (prefer-coding-system 'utf-8) ;mais on préfère utf-8 ;;(prefer-coding-system 'latin-9) ;mais on préfère latin-9 (set-locale-environment "fr_FR") ;pour utiliser les locales françaises (utile sous OSX car LC_xx n'est pas défini) ;; pour pas se prendre les pieds dans le tapis entre latin-1 et latin-9 ;; Emacs considère séparément les caractères identiques entre latin-1 et latin-9 (when (< emacs-major-version 23) ;;(require 'ucs-tables) (unify-8859-on-encoding-mode t) ; les caractères encodables en latin-9 le seront directement (unify-8859-on-decoding-mode t) ; au décodage, les caractères latins représentables en latin-1 ; sont remappés, les autres passent en mule-unicode-0100-24ff ; ça permet par exemple de comparer «é» latin-1 identique à «é» latin-9 ) ;;;======= SPECIFIQUE PLATEFORME ========================================================== (cond ((eq system-type 'darwin) ; réglages pour le mac (message "on est sous mac") (setq process-connection-type t) ;en shell pour voir l'affichage ;;(setq mac-command-key-is-meta t);pomme = meta (removed from emacs22 cvs) (setq mac-option-modifier 'none);control, meta, alt, super, or hyper (none = no interpretation) (setq mac-command-modifier 'meta) ;obsolete ? (setq mac-pass-command-to-system nil) ;évite de cacher emacs avec M-h ;; iso-latin-1 input encoding ? ;;(setq mac-keyboard-text-encoding kTextEncodingISOLatin1) ;;(set-keyboard-coding-system 'iso-latin-1) ;; To modify mac/unix/dos encodings: CTRL-X RET f ;(set-terminal-coding-system 'latin-9) ;;(set-keyboard-coding-system 'mac-roman) ;dejà positionné ? ;;(set-frame-font "fontset-mac") ;;(setq default-buffer-file-coding-system 'iso-latin-9-mac) ;attention prefer-coding-system + bas ;(setq mac-wheel-button-is-mouse-2 t) ;??? ;(setq mac-emulate-three-button-mouse 1) ; option = mouse2 / command = mouse3 (if window-system (progn (set-background-color "gray90") ;;X fonts specs format (désignation des fontes X) ;;-FOUNDRY-FAMILY-WEIGHT-SLANT-WIDTH--PIXELS-POINTS-HRES-VRES-SPACING-AVEWIDTH-CHARSET ;; Set frame size, color and fonts ;; (create-fontset-from-fontset-spec ;; "-apple-monaco-medium-r-normal--9-*-*-*-*-*-fontset-monaco, ;; ascii:-apple-monaco-medium-r-normal--9-90-75-75-m-90-mac-roman, ;; mule-unicode-0100-24ff:-apple-lucida grande-medium-r-normal--0-0-75-75-m-0-mac-roman, ;; mule-unicode-2500-33ff:-apple-bitstream vera sans mono bold-medium-r-normal--0-0-75-75-m-0-mac-roman, ;; latin-iso8859-15:-apple-monaco-medium-r-normal--9-90-75-75-m-90-mac-roman, ;; latin-iso8859-1:-apple-monaco-medium-r-normal--9-90-75-75-m-90-mac-roman") ;;-- ;;-apple-unifont medium-medium-r-normal--0-0-75-75-m-0-mac-roman ;; (create-fontset-from-fontset-spec ;; "-apple-unifont medium-medium-r-normal--0-0-75-75-m-0-fontset-monaco, ;; ascii:-apple-unifont medium-medium-r-normal--0-0-75-75-m-0-mac-roman, ;; mule-unicode-0100-24ff:-apple-unifont medium-medium-r-normal--0-0-75-75-m-0-mac-roman, ;; mule-unicode-2500-33ff:-apple-unifont medium-medium-r-normal--0-0-75-75-m-0-mac-roman, ;; latin-iso8859-15:-apple-unifont medium-medium-r-normal--0-0-75-75-m-0-mac-roman, ;; latin-iso8859-1:-apple-unifont medium-medium-r-normal--0-0-75-75-m-0-mac-roman") (create-fontset-from-fontset-spec "-misc-seki-medium-r-*-12-*-*-*-*-*-*-fontset-custom_seki") (set-fontset-font "fontset-custom_seki" 'latin-iso8859-1 '("Monaco" . "iso8859-1")) ;;(set-fontset-font "fontset-custom_seki" 'latin-iso8859-1 '("American Typewriter" . "iso8859-1")) (set-fontset-font "fontset-custom_seki" 'latin-iso8859-15 '("Monaco" . "iso8859-15")) ;;(set-fontset-font "fontset-custom_seki" 'latin-iso8859-15 '("American Typewriter" . "iso8859-15")) (set-fontset-font "fontset-custom_seki" '(#x2200 . #x2200) '("Monaco" . "iso8859-15")) ;;(set-fontset-font "fontset-custom_seki" '(#x2200 . #x2200) (font-spec :family "Arial Unicode MS" :size 24 :slant 'italic)) ;(set-face-font 'default "-misc-seki-medium-r-*-*-*-*-*-*-*-*-fontset-custom_seki" nil) (set-frame-font "-misc-seki-medium-r-*-12-*-*-*-*-*-*-fontset-custom_seki") ;(create-fontset-from-fontset-spec "-apple-monaco-medium-r-normal--14-*-*-*-*-*-fontset-monaco") ;(set-fontset-font "" 'latin-iso8859-1 '("American Typewriter" . "iso8859-1")) ;(set-fontset-font "fontset-custom_seki" 'latin-iso8859-15 '("American Typewriter" . "iso8859-15")) ;(set-fontset-font "fontset-custom_seki" '(#x2200 . #x2200) (font-spec :family "Arial Unicode MS" :size 24)) ;(set-face-font 'default "-misc-seki-medium-r-*-*-*-*-*-*-*-*-fontset-custom_seki" nil) (setq default-frame-alist '((width . 120) (height . 44) (top . 76) ;pixels (left . 260) ;pixels (font . "-misc-seki-medium-r-*-12-*-*-*-*-*-*-fontset-custom_seki") ;(font . "fontset-monaco");fontset-mac ;; preferences ;(font . (create-fontset-from-mac-roman-font "-apple-monaco-medium-r-normal--9-90-75-75-m-90-mac-roman")) ;(font . (create-fontset-from-mac-roman-font "unifont medium")) (cursor-type . bar) (cursor-color . "purple") )) ;;(setq default-frame-alist initial-frame-alist) ) ) (global-set-key (kbd "<kp-delete>") 'delete-char) ;touche suppr (global-set-key (kbd "<kp-divide>") "/") ;touche division sur pavé num (inactif sur mon poste ?) (global-set-key (kbd "<C-kp-home>") (kbd "<C-home>")) ;idem / (global-set-key (kbd "<C-kp-end>") (kbd "<C-end>")) ;idem / ;;Aargh, change default Mac behavior for home / end keys (global-set-key (kbd "<home>") 'beginning-of-line) (global-set-key (kbd "<end>") 'end-of-line) ;;(global-set-key "?" (sk-insere-euro t));j'arrive pas avec l'euro ;( €€ et si ! ;;impressions (setq printer-name "IMP_DEV_PROJ") ;;pour imprimer les caractères latin-9 (setq ps-mule-font-info-database-default '((latin-iso8859-15 (normal nil nil iso-latin-9)) (latin-iso8859-1 (normal nil nil iso-latin-1)))) ) ;;================================================================= ((eq system-type 'windows-nt) ; réglages pour windows (progn (message "on est sous ouin-ouin") (global-set-key [128] 'sk-insere-euro) ; C-h l donne \200 pour l'euro soit 128 en décimal ;;weird bug of M-x not functionning when other M- combo work (when (string-match "^PC-SEBASTIEN" system-name) (setq w32-alt-is-meta nil) (setq w32-lwindow-modifier 'meta)) ;; Mouse wheel (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) ;; Mouse wheel (if window-system (progn (set-background-color "gray90") ;;(set-cursor-color "#aa88dd") (set-cursor-color "#ff00aa") ;;-outline-Lucida Console-normal-r-normal-normal-11-82-96-96-c-70-iso8859-1 ;; Set frame size, color and fonts (create-fontset-from-fontset-spec "-*-lucida console-*-*-*-*-10-*-*-*-*-*-fontset-lucida, ascii:-*-lucida console-*-*-*-*-10-*-*-*-*-*-iso8859-1, latin-iso8859-1:-*-lucida console-*-*-*-*-10-*-*-*-*-*-iso8859-1") (create-fontset-from-fontset-spec "-*-consolas-*-*-*-*-12-*-*-*-*-*-fontset-consolas, ascii:-*-consolas-*-*-*-*-12-*-*-*-*-*-iso8859-1, latin-iso8859-1:-*-consolas-*-*-*-*-12-*-*-*-*-*-iso8859-1, latin-iso8859-15:-*-consolas-*-*-*-*-12-*-*-*-*-*-iso8859-15, uniscribe:-*-Arial Unicode MS-*-*-*-*-12-*-*-*-*-*-iso8859-15") ;; (create-fontset-from-fontset-spec ;; "-apple-monaco-medium-r-normal--9-*-*-*-*-*-fontset-monaco, ;; ascii:-apple-monaco-medium-r-normal--9-90-75-75-m-90-mac-roman, ;; latin-iso8859-1:-apple-monaco-medium-r-normal--9-90-75-75-m-90-mac-roman") (setq default-frame-alist '((width . 100) (height . 44) (top . 50) ;pixels (left . 50) ;pixels (font . "fontset-consolas") ;fontset-mac (cursor-type . bar) (cursor-color . "purple") )) ;;(setq default-frame-alist initial-frame-alist) ) ) ) ) ;;================================================================= ((eq system-type 'gnu/linux) ; réglages pour Linux (progn (message "on est avec le pingouin") () ;rien d'autre ;; Mouse wheel ;; remplacé par mwheel (mouse-wheel-mode est t par défaut) ;; (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) ;;