Fini la mise à jour pour répertoire pkg. Stage4 compile OK et driver xorg nouveau OK
[hvlinux.git] / stage5 / misc / emacs / emacsrc
diff --git a/stage5/misc/emacs/emacsrc b/stage5/misc/emacs/emacsrc
new file mode 100644 (file)
index 0000000..9db7a0e
--- /dev/null
@@ -0,0 +1,180 @@
+;; ~/.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)))))