備忘録備忘録。
emacsのインデントやらの設定。
Linuxカーネルいじる場合
ソースツリーの"Documentation/Codingstyle.txt"にCodinstyleとemacsの設定が書いてある。
設定する部分はこれ(2.6.31-rc1-tipより)。これをホームディレクトリ以下にある.emacsに書く。
(defun c-lineup-arglist-tabs-only (ignored) "Line up argument lists by tabs, not spaces" (let* ((anchor (c-langelem-pos c-syntactic-element)) (column (c-langelem-2nd-pos c-syntactic-element)) (offset (- (1+ column) anchor)) (steps (floor offset c-basic-offset))) (* (max steps 1) c-basic-offset))) (add-hook 'c-mode-common-hook (lambda () ;; Add kernel style (c-add-style "linux-tabs-only" '("linux" (c-offsets-alist (arglist-cont-nonempty c-lineup-gcc-asm-reg c-lineup-arglist-tabs-only)))))) (add-hook 'c-mode-hook (lambda () (let ((filename (buffer-file-name))) ;; Enable kernel mode for the appropriate files (when (and filename (string-match (expand-file-name "*") filename)) (setq indent-tabs-mode t) (c-set-style "linux-tabs-only")))))
一部変更してすべてのcファイルに適用できるようにしてみた。
ってかemacs lispをよう理解していないからあまり自信なし。
これでOKっぽい。たぶん。