A friend of mine, John
Steele Scott, once wrote, ‘When you're a long way from home,
the last thing you want to do is recreate your .emacs
file.’ With that in mind, here's my .emacs
file:
; turn column number mode on (setq column-number-mode t) (set-face-background 'default "white") (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. ) (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. '(default ((t (:stipple nil :background "white" :foreground "#000000" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 160 :width normal :family "adobe-courier"))))) ;; php-mode (autoload 'php-mode "php-mode" "Mode for editing PHP source files") (add-to-list 'auto-mode-alist '("\\.\\(inc\\|php[s34]?\\)" . php-mode)) ;; nxml-mode (load "/usr/local/share/emacs/site-lisp/nxml-mode/rng-auto.el") (setq auto-mode-alist (cons '("\\.\\(xml\\|xsl\\|rng\\|html\\|xhtml\\|jspx\\)\\'" . nxml-mode) auto-mode-alist)) (custom-set-variables '(nxml-slash-auto-complete-flag t)) ; ris.el (cond ((fboundp 'global-font-lock-mode) ;; Turn on font-lock in all modes that support it (global-font-lock-mode t) ;; maximum colors (setq font-lock-maximum-decoration t))) ;; ris mode (autoload 'ris-mode "ris" "Major mode for RIS bibliography files." t) (or (assoc "\\.ris$" auto-mode-alist) (setq auto-mode-alist (cons '("\\.ris$" . ris-mode) auto-mode-alist))) ; unicode ;; xmlunicode.el uses caddr, but neither it nor Emacs(!) defines it. (defun caddr (x) (car (cdr (cdr x)))) (defun my-nxml-mode-hook () (setq ispell-skip-html t) (set-language-environment "utf-8") (load "~/unichars.el") (load "~/xmlunicode.el") (define-key nxml-mode-map "-" 'unicode-smart-hyphen) (define-key nxml-mode-map "." 'unicode-smart-period) (set-input-method 'xml)) (add-hook 'nxml-mode-hook 'my-nxml-mode-hook) ; CSS mode (autoload 'css-mode "css-mode") (setq auto-mode-alist (cons '("\\.css\\'" . css-mode) auto-mode-alist)) (setq cssm-indent-function #'cssm-c-style-indenter) ; lua-mode (autoload 'lua-mode "lua-mode" "Mode for editing Lua source files") (add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode)) ;; Taken from the comment section in inf-ruby.el (setq ruby-program-name "/usr/local/bin/ruby") (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files") (add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode)) (add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode)) (autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process") (autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode") (add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys))) ;; multi-mode for JSP (require 'multi-mode) (defun jsp-mode () (interactive) (multi-mode 1 'html-mode '("<%--" indented-text-mode) '("<%@" indented-text-mode) '("<%=" html-mode) '("<%" java-mode) '("%>" html-mode))) ;; for nxml-mode (defun surround-region-with-tag (tag-name beg end) (interactive "sTag name: \nr") (save-excursion (goto-char beg) (insert "<" tag-name ">") (goto-char (+ end 2 (length tag-name))) (insert "</" tag-name ">")))