(autoload 'w3-speedbar-buttons "sb-w3" "s3 specific speedbar button generator.") ;; semantic ;;(add-to-list 'load-path "~/.emacs.d/semantic") ;;(setq semantic-load-turn-everything-on t) ;;(require 'semantic-load) ;; elib ;; (add-to-list 'load-path "~/.emacs.d/elib") ;; JDEE ;;(add-to-list 'load-path (expand-file-name "~/.emacs.d/jde/lisp")) ;;(require 'jde) ;; Php ;;(load-file "~/.emacs.d/php-mode.el") ;;(require 'php-mode) ;;(add-hook 'php-mode-user-hook 'turn-on-font-lock) ;;(add-hook 'php-mode-user-hook ;; '(lambda () (define-abbrev php-mode-abbrev-table "ex" "extends"))) ;; Corrige la coloration syntaxique ;;(load-file "~/.emacs.d/overlay-fix.elc") ;;(set-background-color "Black") ;;(set-foreground-color "White") ;;(set-cursor-color "White") ;;(set-mouse-color "White") ;; Session save ;;(desktop-save-mode 1) ;(desktop-load-default) ;(setq history-length 250) ;(add-to-list 'desktop-globals-to-save 'file-name-history) ;(desktop-read) ;(setq desktop-enable t) ;; Display the time on the status bar (display-time) ;; Complétion automatique ;; (setq-default abbrev-mode t) ; ;; (read-abbrev-file "~/.emacs.d/abbrev_defs") ; toutes les raccourcis sont ; dans ce fichier ;;(setq save-abbrevs t) ;; These two key bindings are for up and down scrolling by a either single line at a time ;; or by N lines at a time (default is scroll by one single line at a time). This is ;; very useful when working with narrow horizontal windows. ;~) ;; To enter the desired N, hold down \C and type the number and then hit z or q, all the ;; while holding down \C. ;; From the "Writing GNU Emacs Extensions" book, by Bob Glickstein. ;;(defun scroll-n-lines-up (&optional n) ;; "Scroll up N lines (1 line by default)." ;; (interactive "P") ;; (scroll-up (prefix-numeric-value n))) ;;(defun scroll-n-lines-down (&optional n) ;; "Scroll down N lines (1 line by default)." ;; (interactive "P") ;; (scroll-down (prefix-numeric-value n))) ;;Afficheage des espaces ;;(require 'show-wspace) ;; ouverture des fichiers récents (require 'recentf) (recentf-mode 1) (setq recentf-arrange-by-rules-min-items 0 recentf-arrange-by-rule-others nil recentf-arrange-rules '(("Elisp files (%d)" ".\\.el$" "^\\.?emacs-") ("Java files (%d)" ".\\.java$") ("C/C++ files (%d)" ".\\.c\\(pp\\)?$") ("PHP files (%d)" ".\\.\\(php\\|php3\\)$") ("Configuration files (%d)" "rc$\\|/\\.") ("Ada files (%d)" ".\\.ad[sb]$") ("TeX/LaTeX files (%d)" ".\\.\\(tex\\|bib\\)$") ("Scripts (%d)" ".\\.\\(sh\\|pl\\)$") ("Documentation (%d)" "/doc/") ) recentf-max-saved-items 50 recentf-max-menu-items 30 recentf-menu-path nil recentf-exclude '(".emacs-customize$" ".newsrc" ".etags$" ".emacs.bmk$" ".bbdb$" ".log$" "^/tmp/") recentf-menu-filter 'recentf-arrange-by-rule recentf-menu-title "Recentf" ) (defun recentf-open-files-compl () (interactive) (let* ((all-files recentf-list) (tocpl (mapcar (function (lambda (x) (cons (file-name-nondirectory x) x))) all-files)) (prompt (append '("File name: ") tocpl)) (fname (completing-read (car prompt) (cdr prompt) nil nil))) (find-file (cdr (assoc-ignore-representation fname tocpl))))) ;; Ouverture des fichiers récents ;; (global-set-key "" (quote recentf-open-files-compl)) ;; Clavier (global-set-key [C-home] 'beginning-of-buffer) (global-set-key [C-end] 'end-of-buffer) (global-set-key [C-kp-home] 'beginning-of-buffer) (global-set-key [C-kp-end] 'end-of-buffer) (global-set-key [delete] 'delete-char) (global-set-key [kp-delete] 'delete-char) ;; Complétion automatique ;; (global-set-key (quote [C-tab]) (quote dabbrev-expand)) ;; Couper/Copier/Coller ;; (global-set-key "\C-w" (quote copy-region-as-kill-nomark)) ;; (global-set-key [(meta w)] (quote kill-region)) ;; (global-set-key "\227" (quote yank)) ;;[C-M-w] pour coller ;; Séléctionner tout le buffer ;; (global-set-key "\C-a" (quote mark-whole-buffer)) ;; Scroll de n lignes ;; (global-set-key "\C-q" 'scroll-n-lines-up) ;; (global-set-key "\C-z" 'scroll-n-lines-down) ;; Aller directement à une ligne (global-set-key [(meta g)] `goto-line) ;;(global-set-key [f2] 'save-buffer) (global-set-key [f3] 'find-file) (global-set-key [f4] 'kill-buffer) (global-set-key [f5] 'speedbar-get-focus) (global-set-key [f9] 'compile) ;; souris (global-set-key (quote [(mouse-5)]) (quote scroll-n-lines-up)) (global-set-key (quote [(mouse-4)]) (quote scroll-n-lines-down)) ;; Turn on font-lock mode for Emacs (global-font-lock-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) ;; configuration gcc (setq compile-command "make CFLAGS=\"-g -Wall\" -k ") ;; configuration pour la circulation entre tampons (C-x b) (require 'iswitchb) (iswitchb-default-keybindings) ;; Turn off the bell (setq visible-bell t) ;; set cursor to line of 3 pixels width (setq initial-frame-alist '((cursor-type . (bar . 3)))) ;; This is a simple .emacs file for general purposes mostly. ;; It has been tested on GNU Emacs version 21.3.1 on Windows 98SE, ;; ;; This Document Last Modified: 01/13/05. ;; (add-hook 'c++-mode-hook 'turn-on-font-lock) (add-hook 'c-mode-hook 'turn-on-font-lock) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;Par RCT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (add-to-list 'load-path "~/.emacs.d/") (add-to-list 'load-path "~/.emacs.d/color-theme/") (add-to-list 'load-path "~/.emacs.d/mmm-mode/") (add-to-list 'load-path "~/.emacs.d/psgml-mode/") ;;Theme (require 'color-theme) (color-theme-gnome2) ;; (setq backup-by-copying t ; don't clobber symlinks backup-directory-alist '(("." . "~/.saves")) ; don't litter my fs tree delete-old-versions t kept-new-versions 6 kept-old-versions 2 version-control t) ; use versioned backups) ;; (add-to-list 'load-path "~/.emacs.d/") (require 'ebs) (ebs-initialize) (global-set-key [f1] 'ebs-switch-buffer) ;; (transient-mark-mode 1) (setq mark-even-if-inactive t) ;;recent-files (global-set-key [f2] 'recentf-open-files) (defalias 'perl-mode 'cperl-mode) ;; (setq-default c-basic-offset 4 cperl-indent-level 4 tab-width 4 indent-tabs-mode nil) ;; Afficher les espaces vides (setq show-trailing-whitespace t) ;;ecris a la volée :: ;;(add-hook 'save-buffer 'delete-trailing-whitespace) (global-set-key [(control tab)] `other-window) (global-set-key [C-S-iso-lefttab] '(lambda () (interactive) (other-window -1))) (defun match-paren (arg) "Go to the matching paren if on a paren." (interactive "p") (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) (t (self-insert-command (or arg 1))))) (global-set-key (kbd "M-p") 'match-paren) (setq dcsh-command-list '("all_registers" "check_design" "check_test" "compile" "current_design" "link" "uniquify" "report_timing" "report_clocks" "report_constraint" "get_unix_variable" "set_unix_variable" "set_max_fanout" "report_area" "all_clocks" "all_inputs" "all_outputs")) ;;rectangle selection (global-set-key (kbd "C-x r C-SPC") 'rm-set-mark) (global-set-key (kbd "C-x r C-x") 'rm-exchange-point-and-mark) (global-set-key (kbd "C-x r C-w") 'rm-kill-region) (global-set-key (kbd "C-x r M-w") 'rm-kill-ring-save) (autoload 'rm-set-mark "rect-mark" "Set mark for rectangle." t) (autoload 'rm-exchange-point-and-mark "rect-mark" "Exchange point and mark for rectangle." t) (autoload 'rm-kill-region "rect-mark" "Kill a rectangular region and save it in the kill ring." t) (autoload 'rm-kill-ring-save "rect-mark" "Copy a rectangular region to the kill ring." t) ;; hippie completion (defun he-dcsh-command-beg () (let ((p)) (save-excursion (backward-word 1) (setq p (point))) p)) (defun try-expand-dcsh-command (old) (unless old (he-init-string (he-dcsh-command-beg) (point)) (setq he-expand-list (sort (all-completions he-search-string (mapcar 'list dcsh-command-list)) 'string-lessp))) (while (and he-expand-list (he-string-member (car he-expand-list) he-tried-table)) (setq he-expand-list (cdr he-expand-list))) (if (null he-expand-list) (progn (when old (he-reset-string)) ()) (he-substitute-string (car he-expand-list)) (setq he-tried-table (cons (car he-expand-list) (cdr he-tried-table))) (setq he-expand-list (cdr he-expand-list)) t)) (global-set-key (kbd "S-") (make-hippie-expand-function '(try-expand-dcsh-command try-expand-dabbrev-visible try-expand-dabbrev try-expand-dabbrev-all-buffers) t)) ;;************************************************************ ;; configure HTML editing ;;************************************************************ ;;(setq sgml-set-face t) ;;(setq sgml-auto-activate-dtd t) ;;(setq sgml-indent-data t) ;; (setq sgml-markup-faces '( ;; (start-tag . font-lock-keyword-face) ;; (end-tag . font-lock-keyword-face) ;; (comment . font-lock-comment-face) ;; (pi . font-lock-constant-face) ;; ;; (sgml . font-lock-type-face) ;; (doctype . bold) ;; (entity . italic) ;; (shortref . font-lock-reference-face))) ;; ;; ;; (require 'php-mode) ;; ;; ;; ;; configure css-mode ;; (autoload 'css-mode "css-mode") ;; (add-to-list 'auto-mode-alist '("\\.css\\'" . css-mode)) ;; (setq cssm-indent-function #'cssm-c-style-indenter) ;; (setq cssm-indent-level '2) ;; ;; ;; (add-hook 'php-mode-user-hook 'turn-on-font-lock) ;; ;; ;; (require 'mmm-mode) ;; (setq mmm-global-mode 'maybe) ;; ;; ;; ;; set up an mmm group for fancy html editing ;; (mmm-add-group ;; 'fancy-html ;; '( ;; (html-php-tagged ;; :submode php-mode ;; :face mmm-code-submode-face ;; :front "<[?]php" ;; :back "[?]>") ;; (html-css-attribute ;; :submode css-mode ;; :face mmm-declaration-submode-face ;; :front "style=\"" ;; :back "\""))) ;; ;; ;; ;; What files to invoke the new html-mode for? ;; (add-to-list 'auto-mode-alist '("\\.inc\\'" . html-mode)) ;; (add-to-list 'auto-mode-alist '("\\.phtml\\'" . html-mode)) ;; (add-to-list 'auto-mode-alist '("\\.php[34]?\\'" . html-mode)) ;; (add-to-list 'auto-mode-alist '("\\.[sj]?html?\\'" . html-mode)) ;; (add-to-list 'auto-mode-alist '("\\.jsp\\'" . html-mode)) ;; ;; ;; ;; What features should be turned on in this html-mode? ;; (add-to-list 'mmm-mode-ext-classes-alist '(html-mode nil html-js)) ;; (add-to-list 'mmm-mode-ext-classes-alist '(html-mode nil embedded-css)) ;; (add-to-list 'mmm-mode-ext-classes-alist '(html-mode nil fancy-html)) ;; ;; ;; ;; Not exactly related to editing HTML: enable editing help with mouse-3 in all sgml files ;; (defun go-bind-markup-menu-to-mouse3 () ;; (define-key sgml-mode-map [(down-mouse-3)] 'sgml-tags-menu)) ;; ;; ;; (add-hook 'sgml-mode-hook 'go-bind-markup-menu-to-mouse3) ;; --------------------------------------------------------------------------- ;; XML/SGML - PSGML ;; ;; First, we'll just set up PSGML. Then we'll create a derived mode for ;; (X)HTML using mmm-mode for fancy (X)HTML/CSS/Javascript/PHP coding ;;(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t ) ;;(autoload 'xml-mode "psgml" "Major mode to edit XML files." t) ;;(setq auto-mode-alist ;; (append ;; (list ;; '("\\.sgm$" . sgml-mode) ;; '("\\.sgml$" . sgml-mode) ;; '("\\.xml$" . xml-mode) ;; ) ;; auto-mode-alist)) ;; Enable editing help with mouse-3 in all sgml files ;;(defun go-bind-markup-menu-to-mouse3 () ;; (define-key sgml-mode-map [(down-mouse-3)] 'sgml-tags-menu)) ;;(add-hook 'sgml-mode-hook 'go-bind-markup-menu-to-mouse3) ;; xxml.el for better syntax highlighting (although we won't use xxml.el's ;; html-mode, but will define our own). ; (autoload 'html-mode "xxml" "Major mode to edit HTML files." t) ;;(autoload 'xxml-mode-routine "xxml") ;;(add-hook 'sgml-mode-hook 'xxml-mode-routine) ;;(add-hook 'xml-mode-hook 'xxml-mode-routine) ;; create faces to assign to markup categories ;;(make-face 'sgml-comment-face) ;; (make-face 'sgml-start-tag-face) ;; (make-face 'sgml-end-tag-face) ;; (make-face 'sgml-entity-face) ;; (make-face 'sgml-doctype-face) ; DOCTYPE data ;; (make-face 'sgml-ignored-face) ; data ignored by PSGML ;; (make-face 'sgml-ms-start-face) ; marked sections start ;; (make-face 'sgml-ms-end-face) ; end of marked section ;; (make-face 'sgml-pi-face) ; processing instructions ;; (make-face 'sgml-sgml-face) ; the SGML declaration ;; (make-face 'sgml-shortref-face) ; short references ;; ;; assign faces to markup categories ;; (setq sgml-markup-faces ' ;; ( ;; (comment . sgml-comment-face) ;; (start-tag . sgml-start-tag-face) ;; (end-tag . sgml-end-tag-face) ;; (entity . sgml-entity-face) ;; (doctype . sgml-doctype-face) ;; (ignored . sgml-ignored-face) ;; (ms-start . sgml-ms-start-face) ;; (ms-end . sgml-ms-end-face) ;; (pi . sgml-pi-face) ;; (sgml . sgml-sgml-face) ;; (shortref . sgml-shortref-face) ;; )) ;; ;; tell PSGML to pay attention to face settings ;; (setq sgml-set-face t) ;; --------------------------------------------------------------------------- ;; (X)HTML - PSGML with MMM Mode for CSS, Javascript and PHP support ;; (define-derived-mode xml-html-mode xml-mode "XHTML" ;; "This version of html mode is just a wrapper around xml mode." ;; (make-local-variable 'sgml-declaration) ;; (make-local-variable 'sgml-default-doctype-name) ;; (setq ;; sgml-default-doctype-name "html" ;; sgml-declaration "/usr/share/sgml/xml.dcl" ;; sgml-always-quote-attributes t ;; sgml-indent-step 2 ;; sgml-indent-data t ;; sgml-minimize-attributes nil ;; sgml-omittag nil ;; sgml-shorttag nil ;; ) ;; ) ;; (define-derived-mode sgml-html-mode sgml-mode "HTML" ;; "This version of html mode is just a wrapper around sgml mode." ;; (make-local-variable 'sgml-declaration) ;; (make-local-variable 'sgml-default-doctype-name) ;; (setq ;; sgml-default-doctype-name "html" ;; sgml-declaration "~/lib/DTD/html401/HTML4.decl" ;; sgml-always-quote-attributes t ;; sgml-indent-step 2 ;; sgml-indent-data t ;; sgml-minimize-attributes nil ;; sgml-omittag nil ;; sgml-shorttag nil ;; ) ;; ) ;; PHP-Mode (require 'php-mode) (add-hook 'php-mode-user-hook 'turn-on-font-lock) ;; CSS-Mode (autoload 'css-mode "css-mode") (add-to-list 'auto-mode-alist '("\\.css\\'" . css-mode)) (setq cssm-indent-function #'cssm-c-style-indenter) (setq cssm-indent-level '2) ;; javascript-generic-mode (require 'generic-x) ;; ;; MMM-Mode ;; (require 'mmm-auto) ;; (setq mmm-global-mode 'maybe) ;; ;; Set up an mmm group for fancy html editing ;; (mmm-add-group ;; 'fancy-html ;; '( ;; (html-php-embedded ;; :submode php-mode ;; :face mmm-output-submode-face ;; :front "<[?]php" ;; :back "[?]>") ;; (html-css-embedded ;; :submode css-mode ;; :face mmm-declaration-submode-face ;; :front "\]*>" ;; :back "") ;; (html-css-attribute ;; :submode css-mode ;; :face mmm-declaration-submode-face ;; :front "\\bstyle=\\s-*\"" ;; :back "\"") ;; (html-javascript-embedded ;; :submode javascript-generic-mode ;; :face mmm-code-submode-face ;; :front "\]*>" ;; :back "") ;; (html-javascript-attribute ;; :submode javascript-generic-mode ;; :face mmm-code-submode-face ;; :front "\\bon\\w+=\\s-*\"" ;; :back "\"") ;; ) ;; ) ;; What files to invoke the new html-mode for? ;; HTML and XHTML tend to have the same file extensions. However, XHTML ;; hopefully has either one or both of ;;(defalias 'perl-mode 'cperl-mode) ;; Resize windows : http://www.emacswiki.org/cgi-bin/emacs-en/WindowResize (global-set-key (kbd "S-C-") 'shrink-window-horizontally) (global-set-key (kbd "S-C-") 'enlarge-window-horizontally) (global-set-key (kbd "S-C-") 'shrink-window) (global-set-key (kbd "S-C-") 'enlarge-window) (custom-set-variables ;; custom-set-variables was added by Custom -- don't edit or cut/paste it! ;; Your init file should contain only one such instance. '(case-fold-search t) '(current-language-environment "Latin-1") '(default-input-method "latin-1-prefix") '(desktop-enable t nil (desktop)) '(global-font-lock-mode t nil (font-lock)) '(inhibit-eol-conversion t) '(save-place t nil (saveplace)) '(transient-mark-mode t) '(uniquify-buffer-name-style (quote forward) nil (uniquify))) (custom-set-faces ;; custom-set-faces was added by Custom -- don't edit or cut/paste it! ;; Your init file should contain only one such instance. ) (defun no-junk-please-were-unixish () (let ((coding-str (symbol-name buffer-file-coding-system))) (when (string-match "-\\(?:dos\\|mac\\)$" coding-str) (setq coding-str (concat (substring coding-str 0 (match-beginning 0)) "-unix")) (message "CODING: %s" coding-str) (set-buffer-file-coding-system (intern coding-str)) ))) (add-hook 'find-file-hooks 'no-junk-please-were-unixish) ;; Session save ;(desktop-save-mode 1) (desktop-load-default) (setq history-length 250) (add-to-list 'desktop-globals-to-save 'file-name-history); (desktop-read) ;(setq desktop-enable t)