emacs config

;; Preventing the Creation of Backup Files
(setq make-backup-files nil)
;; key binding
;; Line number : http://www.emacswiki.org/emacs/setnu.el
(autoload 'setnu-mode "~/config/emacs/setnu.el" "set-nu" t)
(global-set-key (kbd "<f6>") 'setnu-mode)       ; show line number with f6
;; spelling
(global-set-key (kbd "<f7>") 'ispell-region)    ; ispell region with f7

;; changement de fenetre Ctrl-X fleche
(global-set-key (kbd "C-x <up>") 'windmove-up)
(global-set-key (kbd "C-x <down>") 'windmove-down)
(global-set-key (kbd "C-x <right>") 'windmove-right)
(global-set-key (kbd "C-x <left>") 'windmove-left)

;; redimentionnement des fenetres avec Ctrl-C fleche
(global-set-key (kbd "C-c <up>") 'shrink-window)
(global-set-key (kbd "C-c <down>") 'enlarge-window)
(global-set-key (kbd "C-c <left>") 'shrink-window-horizontally)
(global-set-key (kbd "C-c <right>") 'enlarge-window-horizontally)
;; git mode : package magit
(autoload 'magit-status "magit" nil t)
;; pour utiliser avec C-x b
(require 'ido)
(ido-mode t)
;; markdown mode : https://github.com/defunkt/markdown-mode
(autoload 'markdown-mode "~/.emacs.d/markdown-mode"
   "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.page\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
;; http://www.emacswiki.org/emacs/DeleteSelectionMode
(delete-selection-mode 1)
;; custom colors
(set-foreground-color "grey")
(set-face-foreground 'font-lock-string-face  "#123467")
(set-face-foreground 'font-lock-comment-face  "#009380")
(make-face-italic 'font-lock-comment-face)
(set-face-foreground 'font-lock-keyword-face  "lemonchiffon")
(make-face-bold 'font-lock-keyword-face)
(set-face-foreground 'font-lock-string-face   "#77bbea") ; bleu cyant
(set-face-foreground 'font-lock-preprocessor-face "blue")
(set-face-foreground 'font-lock-constant-face   "green")
(set-face-foreground 'font-lock-type-face    "lightblue")
(make-face-bold 'font-lock-type-face)
(set-face-foreground 'font-lock-function-name-face "darkcyan")
(set-face-foreground 'font-lock-variable-name-face "darkgreen")
(set-face-foreground 'font-lock-warning-face "yellow")
(set-face-underline  'font-lock-warning-face "red")
(set-face-foreground 'mode-line "black")
(set-face-background 'mode-line "lemonchiffon")
(set-face-foreground 'minibuffer-prompt "orange")
(if (string-match "XEmacs" emacs-version)
(set-background-color "#000000")) ; dark grey
;; highlight the current line; set a custom face, so we can
;; recognize from the normal marking (selection)
(defface hl-line '((t (:background "#646464")))
  "Face to use for `hl-line-face'." :group 'hl-line)
(setq hl-line-face 'hl-line)
(global-hl-line-mode t) ;; turn it on for all modes by default
;; the modeline
(column-number-mode t)                          ; show column numbers
(size-indication-mode t)                        ; show file size (emacs 22+)
;; general settings
(setq inhibit-startup-message t                 ; don't show startup messages
      inhibit-startup-echo-area-message t)
(menu-bar-mode -1)                              ; don't show the menu
(transient-mark-mode t)                         ; make the current 'selection' visible
(setq search-highlight t                        ; highlight when searching...
      query-replace-highlight t)                ; ...and replacing
(fset 'yes-or-no-p 'y-or-n-p)                   ; enable one letter y/n answers to yes/no
(global-font-lock-mode t)                       ; always do syntax highlighting
(set-language-environment "UTF-8")              ; prefer utf-8 for language settings

;; utf-8
(setq locale-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(setq coding-system-for-read 'utf-8)
(setq coding-system-for-write 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-language-environment 'UTF-8) ; prefer utf-8 for language settings
(set-default-coding-systems 'utf-8)
(setq scroll-conservatively 10000)              ; smooth scrolling
(setq-default ispell-program-name "aspell")     ; set spelling program