У меня возникли проблемы с моим кодом php, не отступающим правильно …
Я бы хотел, чтобы мой код выглядел так
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))))
Настройте переменную стиля c-default. Добавьте это в файл .emacs:
(setq c-default-style "bsd" c-basic-offset 4)
Описание стиля bsd .
Настройте переменную c-default-style. Вы либо хотите, чтобы ваш «Другой» режим (или «php», если он был доступен) установлен на «bsd», или вы можете установить стиль hte во всех режимах на bsd.
Из того, что я понимаю, PHP-режим построен поверх режима c, поэтому он наследует свои настройки.
Попробуйте следующее:
(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)))