2009-07-14 72 views
5

Tôi thường mã PHP của mình với một mức độ thụt đầu dòng sau <?php ban đầu, nhưng tôi đang gặp khó khăn khi tìm một cài đặt cho điều này trong Emacs với php-mode.Đặt mức thụt đầu dòng ban đầu cho PHP trong Emacs?

Để được rõ ràng, đây là những gì Emacs đang thực hiện:

<?php 
echo "Hello."; 

if (something) 
    do_something(); 

Và dưới đây là cách tôi thường mã:

<?php 
    echo "Hello."; 

    if (something) 
     do_something(); 

Emacs phiên bản 23 (trực tiếp từ CVS), php-mode 1.5.0 .

+0

bạn đang sử dụng phiên bản emacs và chế độ php nào? – drudru

+0

Emacs 23 CVS (xây dựng mới từ đêm qua), php-mode 1.5.0. –

Trả lời

2

Tìm thấy một giải pháp, tôi nghĩ rằng:

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

vẻ khi được làm việc. topmost-intro đặt mọi thứ và theo như tôi có thể nói, cpp-macro chỉ đặt các thẻ <?php.

Cảm ơn Cheeso đã gợi ý cho tôi câu trả lời.

0

php-mode xuất phát từ c-mode, vì vậy tôi nghĩ rằng tất cả các bạn cần là:

(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))) 

Nếu đó không phải là những gì bạn có nghĩa là, có thể bạn đang tìm kiếm tab-stop-list?

+1

Không, đừng nghĩ rằng nó sẽ hoạt động. Điều đó chỉ thiết lập các thiết lập tab, tôi không thấy bất cứ điều gì trong đó cho mức thụt đầu dòng ban đầu. (Tôi cũng chạy nó trong Emacs và không có gì thay đổi ngoại trừ độ rộng tab của tôi.) –

1

Tôi không có chế độ php, nhưng ở chế độ c, M-x c-set-offset có thể trợ giúp. - nó sẽ cho phép bạn tùy chỉnh độ lệch cho phần tử cú pháp, và nó cho bạn biết phần tử nào được sử dụng cho dòng hiện tại.

+0

Hầu như có nó bằng cách thiết lập topmost-intro đến 4, nhưng tiếc là indents tất cả mọi thứ trên 4 không gian, bao gồm cả '

+0

Ah - Bạn có thể phải sử dụng M-x c-set-offset trong các phần tử cú pháp khác nhau, để có được các cài đặt khác cần thiết. – Cheeso

+0

Hm, có cách nào để lấy yếu tố cú pháp của mục dưới điểm không? –

Các vấn đề liên quan