2009年10月28日水曜日

Emacsの設定(time-stamp, インデントスタイル, mic-paren)

いつか.emacsが消滅したときに復元する手助けになると信じて,適当に選んだ部分を晒してみる。

1つ目はタイムスタンプ。設定が変わるとめんどくさそうなので、どの環境でも同じ状態にしておきたい。

;;time-stamp
(require 'time-stamp)
(add-hook 'before-save-hook 'time-stamp)
(setq time-stamp-active t)
(setq time-stamp-start "last updated : ")
(setq time-stamp-format "%04y/%02m/%02d %02H:%02M %u@%s")
(setq time-stamp-end "\n")
(setq time-stamp-line-limit 20)

Cのインデントスタイルの設定。変わっても問題はないだろうけど、慣れているインデントスタイルにすぐ戻れるように。

;;indent style for c
(add-hook 'c-mode-hook
'(lambda ()
(c-set-style "linux")
(setq c-basic-offset 4)
(setq tab-width c-basic-offset)))

mic-paren.elの設定。一応Lisp使いの末端の端っこくらいには引っかかってほしいと思ってるので、括弧を見やすくするために入れている。

;;mic-paren
(require 'mic-paren)
(paren-activate)
(setq paren-face '(underline paren-match-face))
(setq paren-match-face '(underline paren-face))
(setq paren-sexp-mode t)
(setq parse-sexp-ignore-comments t)

anything.elをsdic用に設定してみたもの。anything自体ろくに使っていないけど、自分で書いたネタコードはこのくらいしかないので保存しておく。あとで黒歴史扱いする自分の姿が見えないでもない。

;;anything for sdic-mode
(defvar hogefuga nil)
(defvar anything-for-sdic
`((name . "sdic")
(init . (lambda () nil))
(candidates . (lambda ()
(let ((result
;;emacs lispはダイナミックスコープ
(flet ((message (n) n)
(sdic-display-buffer (x) x))
(sdic-describe-word anything-pattern))))
(push result hogefuga)
(prog1
(if result
(prog1
(with-current-buffer "*sdic*"
(split-string (buffer-string) "\n" t))
(sdic-display-buffer result))
(sdic-exit)
nil)
(set-buffer "*anything*")))))
(requires-pattern . 3)
(volatile)))

いろいろ酷いことになっているけど、ネタなので放置。

0 件のコメント:

コメントを投稿