人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MacOS Xを使い始めたのでCarbon EmacsでPHPを書こうとしたのですが、オートインデントがちょっと思った通りになってくれません。


環境
MacOS X 10.4.5
Carbon Emacs-Tiger-20060325
php-mode1.2.0(Carbon Emacsにバンドルされたもの)

.emacsにこのページのelispを追加しました。
http://www.ofug.net/~hachiman/wiliki/wiliki.cgi?php-mode

この環境でPHPを書くと
<?php

class Foo {
public function getFoo() {
}
} //こうなる

?>

<?phpが原因のようなのですが(<? phpとかするとインデントも一個ずれるので)なんとかできないでしょうか?
こうすればインデントは起きないのですが
<?php

class Bar
{

public function getBar()
{
//これだとifとかforだけうまくいかない
if( true )
{
}
}
}

?>

ifやforなどが同じようにインデントしてくれないので統一感がなくてこれもちょっと問題です。
どちらかを解決する方法はないでしょうか?
お願いします。

(諸事情でPHPがまだインストールされてないのですがそれは関係ないですよねぇ・・・

●質問者: Kenichi Yonekawa
●カテゴリ:コンピュータ
✍キーワード:.emacs 2.0 BAR Carbon Emacs Class
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● sakito
●60ポイント

php-modeはPEARコーディング標準で比較的適切に動作するようになっているはずです。

http://pear.php.net/manual/ja/standards.php

(add-hook 'php-mode-user-hook
 '(lambda ()
 (progn
 (setq tab-width 4)
 (indent-tabs-mode)
 (setq c-basic-offset 4)
 (setq c-hanging-comment-ender-p nil)
 (setq indent-tabs-mode nil))))

を設定しPEARコーディング標準にしたがってコーディングすると綺麗にインデントされます。

php-modeのインデントはPHPがインストールされているかどうかに影響はされません。

◎質問者からの返答

ありがとうございます。

なるほどPEARコーディング標準では関数定義の{と制御構造の{はちゃんと別の書き方になっていたのですね。

なんとかなりそうです。

ただ、PEAR標準に従っても、ヘッダコメントが同じような現象でPEAR標準のサンプルにあるようにはならずインデントが入ってしまうのでやっぱりおかしいのかなぁと思いました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ