2008-10-03 2 views
5

У меня возникли проблемы с моей PHP код не отступа правильно ...PHP режим для Emacs

Я хочу, чтобы мой код, чтобы посмотреть, как этот

if (foo) 
{ 
    print "i am indented"; 
} 

, но она всегда выглядит следующим образом:

if (foo) 
    { 
    print "i am not indented correctly"; 
    } 

Я устал от поиска похожих предметов и пытался добавить следующее к своим .emacs, но это не сработало.

Любые мысли?

(add-hook 'php-mode-hook 
      (function (lambda() 
         ;; GNU style 
         (setq php-indent-level 4 
          php-continued-statement-offset 4 
          php-continued-brace-offset 0 
          php-brace-offset 0 
          php-brace-imaginary-offset 0 
          php-label-offset -4)))) 

ответ

1

Настроить переменную c-default-style. Вы либо хотите, чтобы ваш «Другой» режим (или «php», если он был доступен) установлен на «bsd», или вы можете установить стиль hte во всех режимах на bsd.

Из того, что я понимаю, PHP-режим построен поверх режима c, поэтому он наследует его настройки.

1

Try с этим:

(defun my-build-tab-stop-list (width) 
    (let ((num-tab-stops (/ 80 width)) 
     (counter 1) 
     (ls nil)) 
    (while (<= counter num-tab-stops) 
     (setq ls (cons (* width counter) ls)) 
     (setq counter (1+ counter))) 
    (nreverse ls))) 

(add-hook 'c-mode-common-hook 
     #'(lambda() 
      ;; You an remove this, if you don't want fixed tab-stop-widths 
      (set (make-local-variable 'tab-stop-list) 
       (my-build-tab-stop-list tab-width)) 
      (setq c-basic-offset tab-width) 
      (c-set-offset 'defun-block-intro tab-width) 
      (c-set-offset 'arglist-intro tab-width) 
      (c-set-offset 'arglist-close 0) 
      (c-set-offset 'defun-close 0) 
      (setq abbrev-mode nil))) 
12

Настройка переменного с-умолчанию стиль. Добавьте это в ваш файл .emacs:

(setq c-default-style "bsd" 
     c-basic-offset 4) 

Description of bsd style.

Смежные вопросы