.emacs書いた

前は、.emacs.elに書いていたような気がするけど。

とりあえず適当な時点で、はてなに書いておけば、うっかり消してしまっても安心。

;; CarbonEmacsのパッケージ内に入れると、アップデートがめんどくさい
(add-to-list 'load-path (expand-file-name "/Users/soutaro/site-lisp"))
(add-to-list 'load-path (expand-file-name "/Users/soutaro/site-lisp/tuareg-mode"))

;; auto-save-buffers
(require 'auto-save-buffers)
(run-with-idle-timer 0.5 t 'auto-save-buffers)

;; auto-save-buffersしているので、バックアップファイルは無意味
(setq make-backup-files nil)

;; tuareg-mode
(autoload 'tuareg-mode "tuareg" "Major mode for editing Caml code" t)
(autoload 'camldebug "camldebug" "Run the Caml debugger" t)

(setq auto-mode-alist 
      (append '(("\\.ml[ily]?$" . tuareg-mode)
		("\\.topml$" . tuareg-mode))
	      auto-mode-alist))

;; hungry-delete
(defun hungry-backspace (arg)
  "Deletes preceding character or all whitespaces."

  (interactive "*P")
  (let ((here (point)))
    (skip-chars-backward " \t")
    (if (/= (point) here)
        (delete-region (point) here)
      (delete-backward-char 1))))

(defun hungry-delete (arg)
  "Deletes following character or all white spaces."
  (interactive "*P")
  (let ((here (point)))
    (skip-chars-forward " \t\n")
    (if (/= (point) here)
	(delete-region (point) here)
      (delete-char 1))))

(defun hungry-keyboard (map)
  (define-key map [backspace] 'hungry-backspace)
  (define-key map [delete] 'hungry-delete)
  (define-key map "\C-d" 'hungry-delete))

;; 適当にhungry-keyboardする
(add-hook 'lisp-mode-hook #'(lambda () (hungry-keyboard lisp-mode-map)))
(add-hook 'tuareg-mode-hook #'(lambda () (hungry-keyboard tuareg-mode-map)))
(add-hook 'ruby-mode-hook #'(lambda () (hungry-keyboard ruby-mode-map)))

;; ハードタブを使わない
(setq indent-tabs-mode nil)

;; dabbrevはCtrl-oで
(global-set-key "\C-o" 'dabbrev-expand)

;; 対応する括弧を強調
(show-paren-mode)

;; リージョンを表示
(transient-mark-mode 1)

;; ツールバーを消す
(tool-bar-mode)

hungry-delete以外は、変な設定にしていないので、適当にelisp取ってきて設定すれば良かった。

この他に、AUCTexの設定が必要だった気がする。フォントは考えるのがめんどいので、デフォルトのままで。

コメントが日本語なのは、ちゃんと日本語が出るか、文字コードが何になるか、を確認するため。