-;; ~/.emacs
-
-;; Emacs initialization file.
-;; Font Lock mode, Auto Compression mode, File Name Shadow
-;; Mode, and mouse wheel support are enabled by default.
-
-;; Do not display a splash screen on startup
-(setq inhibit-splash-screen t)
-
-;; Emacs Load Path
-(setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path))
-
-;; Affichage du numéro de colonne
-(setq column-number-mode t)
-
-;; Always end a file with a newline
-(setq require-final-newline t)
-
-;; Stop at the end of the file, not just add lines
-(setq next-line-add-newlines nil)
-
-;; Replaces tabs in files with spaces
-(setq-default indent-tabs-mode nil)
-
-;; Makes the compilation buffer always scrolls to follow
-;; output as it comes in.
-(setq compilation-scroll-output t)
-
-;; Pour avoir les accents
-(set-keyboard-coding-system 'utf-8)
-
-;; Set up the keyboard so the delete key on both the regular keyboard
-;; and the keypad delete the character under the cursor and to the right
-;; under X, instead of the default, backspace behavior.
-(global-set-key [delete] 'delete-char)
-(global-set-key [kp-delete] 'delete-char)
-
-;; For an unknow reason, the CTRL+RIGHT and RIGHT keys seem
-;; to be inveerted...
-
-;; Map RIGHT and LEFT
-;;(global-set-key [(meta O) (D)] 'backward-char)
-;;(global-set-key [(meta O) (C)] 'forward-char)
-;; Map CTRL+RIGHT and CTRL+LEFT
-(global-set-key [C-right] 'forward-word)
-(global-set-key [C-left] 'backward-word)
-
-;; Map Home key to beginning-of-buffer
-(global-set-key "\e[1~" 'beginning-of-buffer)
-;; Map End key to end-of-buffer
-(global-set-key "\e[4~" 'end-of-buffer)
-
-;;===========================================================
-;; Key bindings for compiling programs
-;;===========================================================
-;; Must add helper function for the make also, otherwise
-;; the first definition caused both F3 and F4 to execute "make clean".
-(defun compile-make-clean ()
- (interactive) ;; can be called from kbd
- (compile "make clean"))
-
-(defun compile-make ()
- (interactive)
- (compile "make"))
-
-(defun checkpatch()
- (interactive)
- (compile (concat "checkpatch.pl --no-tree --emacs --strict --file " (buffer-file-name))))
-
-;; buffer-cycle.el
-;; F1: Switch to previous buffers
-(autoload 'cycle-buffer-prev "buffer-cycle" t)
-(global-set-key [f1] 'cycle-buffer-prev)
-;; F2: Switch to next buffers
-(autoload 'cycle-buffer-next "buffer-cycle" t)
-(global-set-key [f2] 'cycle-buffer-next)
-
-;; F4: make clean
-(global-set-key [f4] 'compile-make-clean)
-
-;; F5: make
-(global-set-key [f5] 'compile-make)
-
-;; F6: go to next error
-(global-set-key [f6] 'next-error)
-
-;; F7: comment region
-(global-set-key [f7] 'comment-region)
-
-;; F8: code indentation
-(global-set-key [f8] 'indent-region)
-
-;; F9: run checkpatch.pl
-(global-set-key [f9] 'checkpatch)
-
-;;==================================================
-;; Modes
-;;==================================================
-
-(defun linux-c-mode ()
- "C mode with adjusted defaults for use with the Linux kernel."
- (interactive)
- (c-mode)
- (c-set-style "K&R")
- ;; Replaces tabs in files with spaces
- (setq indent-tabs-mode t)
- (setq c-basic-offset 8))
-
-(defun csv-mode ()
- "CSV mode."
- (interactive)
- (setq indent-tabs-mode t)
-)
-
-;; Default for .h and .d files -> linux mode.
-(add-to-list 'auto-mode-alist '("\.[ch]$" . linux-c-mode))
-
-;; Verilog mode
-(autoload 'verilog-mode "verilog-mode" "Verilog mode" t)
-(add-to-list 'auto-mode-alist '("\\.v\\'" . verilog-mode))
-
-;; PHP mode
-(autoload 'php-mode "php-mode" "PHP mode" t)
-(add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode))
-
-;; ChordPro mode
-(autoload 'chordpro-mode "chordpro-mode" "Chordpro mode" t)
-(add-to-list 'auto-mode-alist '("\\.cp\\'" . chordpro-mode))
-(add-to-list 'auto-mode-alist '("\\.chopro\\'" . chordpro-mode))
-
-;; Lilypond mode
-(autoload 'LilyPond-mode "lilypond-mode" "LilyPond Editing Mode" t)
-(add-to-list 'auto-mode-alist '("\\.ly$" . LilyPond-mode))
-(add-to-list 'auto-mode-alist '("\\.ily$" . LilyPond-mode))
-
-;; CSV mode
-(add-to-list 'auto-mode-alist '("\\.csv$" . csv-mode))
-
-;; Mutt mode
-(autoload 'muttrc-mode "muttrc-mode" "Major mode to edit muttrc files" t)
-(add-to-list 'auto-mode-alist '("muttrc\\'" . muttrc-mode))
-
-;; When an Emacs init file gets large or has a lot of function definitions, you
-;; should consider compiling it: it will load faster when Emacs starts, and its
-;; functions will execute faster.
-;; Here is a way to automatically compile your InitFile each time you save it:
-(defun byte-compile-user-init-file ()
- (let ((byte-compile-warnings '(unresolved)))
- ;; in case compilation fails, don't leave the old .elc around:
- (when (file-exists-p (concat user-init-file ".elc"))
- (delete-file (concat user-init-file ".elc")))
- (byte-compile-file user-init-file)
- ;; (message "%s compiled" user-init-file)
- ))
-(defun my-emacs-lisp-mode-hook ()
- (when (equal buffer-file-name user-init-file)
- (add-hook 'after-save-hook 'byte-compile-user-init-file t t)))
-(add-hook 'emacs-lisp-mode-hook 'my-emacs-lisp-mode-hook)
-
-(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.
- '(column-number-mode t)
- '(current-language-environment "UTF-8"))
-(custom-set-faces
- ;; custom-set-faces 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.
- '(default ((t (:background "black" :foreground "white" :bold t))))
- '(font-lock-comment-face ((t (:foreground "red" :bold t))))
- '(font-lock-constant-face ((t (:foreground "magenta" :bold t))))
- '(font-lock-function-name-face ((t (:foreground "blue" :bold t))))
- '(font-lock-keyword-face ((t (:foreground "cyan" :bold t))))
- '(font-lock-string-face ((t (:foreground "green" :bold t))))
- '(font-lock-type-face ((t (:foreground "red" :bold t))))
- '(font-lock-variable-name-face ((t (:foreground "yellow" :bold t))))
- '(font-lock-warning-face ((t (:foreground "magenta" :bold t)))))