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 件のコメント:
コメントを投稿