Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Emacs中为PHP设置初始缩进级别?_Php_Emacs_Indentation - Fatal编程技术网

在Emacs中为PHP设置初始缩进级别?

在Emacs中为PHP设置初始缩进级别?,php,emacs,indentation,Php,Emacs,Indentation,我通常在初始的PHP模式派生自c-mode之后,用一级缩进来编写我的PHP代码,因此我认为您所需要的是: (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))) 如果这不是你的意思,也许你正在寻找?我没有php模

我通常在初始的
PHP模式
派生自
c-mode
之后,用一级缩进来编写我的PHP代码,因此我认为您所需要的是:

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

如果这不是你的意思,也许你正在寻找?

我没有php模式,但在c模式下,M-x c-set-offset可以帮助。-它允许您自定义语法元素的偏移量,并显示当前行使用的元素

找到了解决方案,我认为:

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

看起来很有效
topmost intro
设置了所有内容,据我所知,
cpp macro
只设置了
您使用的是哪个版本的emacs和php模式?emacs 23 CVS(从昨晚开始的新版本),php模式1.5.0。不,我认为这不会起作用。这只是设置了选项卡设置,我没有看到任何关于初始缩进级别的内容。(我也在Emacs中运行了它,除了制表符宽度之外,没有任何变化。)通过将最上面的intro设置为4,几乎获得了它,但不幸的是,所有内容都缩进了4个空格,包括
Ah-您可能必须在不同的语法元素中使用M-x c-set-offset,才能获得所需的其他设置。Hm,有没有办法获取点下项目的语法元素?在cc模式、csharp模式和java模式下,我使用M-x c-set-offset。@Alex:在源代码中的任何地方键入
M-x c-set-offset
可以设置点下项目的语法元素。在您的情况下,您需要更改“最上面的简介”。
(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)))
(c-set-offset 'topmost-intro 4)
(c-set-offset 'cpp-macro -4)