在emacs中,如何正确缩进嵌套函数

时间:2011-03-19 22:10:17

标签: php emacs indentation

在PHP代码中,我目前使用以下C缩进样式:

(defconst my-c-style
  '((c-offsets-alist . ((arglist-close . 0)
                        (substatement-open . 0)
                        (case-label . +)))))

问题是当我嵌套函数(或数组)时。我希望自动缩进格式化以下方式:

myFunc(array(
    'arg1' => $val1,
    'arg2' => $val2,
    'arg3' => $val3,
    'arg4' => $val4,
));

但相反,我得到的是:

myFunc(array(
           'arg1' => $val1,
           'arg2' => $val2,
           'arg3' => $val3,
           'arg4' => $val4,
       ));

里面的代码总是与数组中的'a'对齐。有没有办法通过修改我的C风格来解决这个问题?目前,我必须手动排列关闭的parenthisis。

2 个答案:

答案 0 :(得分:0)

如果您使用的是PHP模式,请尝试使用建议here

答案 1 :(得分:0)

当前通过MELPA提供的php模式版本将根据您的喜好进行开箱即用的缩进;我尝试了wordpress,pear,php和drupal缩进模式 - 每个人都做你想要的(drupal每个缩进步骤使用2个空格)。

您可以通过在配置中设置php-mode-coding-style来配置缩进样式,也可以通过调用c-set-style缓冲区中的php-mode进行交互式尝试,通常绑定到C-c .