http://pear.php.net/manual/ja/standards.indenting.php (空白 4 つのインデントを使用します。タブは使いません。)
(require 'php-mode)
(add-hook
'php-mode-hook
(defun php-mode-hook ()
;; c-mode のスタイル (コメントアウトした場合 "gnu")
(c-set-style "bsd")
;; 連続する空白の一括削除 (必要なければコメントアウトする)
(c-toggle-hungry-state t)
;; コメント行のインデント (必要なければコメントアウトする)
(setq c-comment-only-line-offset 0)
;; コメントのスタイル (必要なければコメントアウトする)
(setq comment-start "// "
comment-end ""
comment-start-skip "// *")
;; 勝手に改行モード (必要なければコメントアウトする)
(c-toggle-auto-hungry-state t)
(setq c-hanging-braces-alist
'(
(class-open nil)
(class-close nil)
(defun-open before after)
(defun-close nil)
(inline-open nil)
(inline-close nil)
(brace-list-open nil)
(brace-list-close nil)
(block-open nil)
(block-close nil)
(substatement-open before after)
(statement-case-open before after)
(extern-lang-open nil)
(extern-lang-close nil)
))
;; PEAR のスタイル (indent-tabs-mode nil を pear だけに反映させる場合はこちら)
(setq tab-width 4
c-basic-offset 4
c-hanging-comment-ender-p nil
indent-tabs-mode nil)
))
(setq
auto-mode-alist
(append
'(
("/\\(PEAR\\|pear\\)/" . php-mode)
("\.php$" . php-mode)
)auto-mode-alist))c-set-style は慎重に選ぶことを、お勧めします。
M-x c-set-style Possible completions are: awk bsd ellemtel gnu java k&r linux python stroustrup whitesmith
例えば、サンプルとなるソース (多次元配列, オブジェクト, クラス, 関数, if, else, for, while, switch, case などが書かれたインデント無しの状態の phpファイル) を用意して C-x h C-M-\ をスタイルごとに実行します。その都度 emacs を再起動した方が良いかもしれません。
0 件のコメント:
コメントを投稿