2009-07-14 34 views
5

我通常在初始<?php之後用一級縮進來編碼我的PHP,但我在Emacs中找不到這樣的設置,其中php-mode在Emacs中爲PHP設置初始縮進級別?

需要明確的是,這裏是Emacs的是這樣做的:

<?php 
echo "Hello."; 

if (something) 
    do_something(); 

這裏是如何我通常代碼:

<?php 
    echo "Hello."; 

    if (something) 
     do_something(); 

Emacs的版本23(直接從CVS),PHP模式1.5.0 。

+0

您使用的是哪個版本的emacs和php-mode? – drudru 2009-07-14 18:34:39

+0

Emacs 23 CVS(昨晚新建),php-mode 1.5.0。 – 2009-07-14 19:30:08

回答

2

找到了解決辦法,我想:

(c-set-offset 'topmost-intro 4) 
(c-set-offset 'cpp-macro -4) 

似乎是工作。 topmost-intro設置一切,並據我所知cpp-macro只設置<?php標籤。

感謝Cheeso的提示讓我回答。

0

php-modec-mode派生,所以我認爲,所有你需要的是:

(setq-default indent-tabs-mode nil) 
(setq standard-indent 2) 
(setq default-tab-width 2) 
(add-hook 'c-mode-common-hook 
    #'(lambda() 
    (setq c-basic-offset tab-width))) 

如果這不是你的意思,也許你正在尋找tab-stop-list

+1

不,不要認爲這會起作用。這只是設置標籤設置,我沒有看到任何內容的初始縮進水平。 (我也在Emacs中運行它,除了我的標籤寬度以外沒有任何變化。) – 2009-07-14 19:44:52

1

我沒有php模式,但在c模式下,M-x c-set-offset可以提供幫助。 - 它可以讓你自定義一個語法元素的偏移量,它會顯示你當前行使用了什麼元素。