Tom*_*ill 1 php emacs coding-style code-formatting indentation
我在php-mode.el上使用Emacs:http://php-mode.sourceforge.net/php-mode.el.html
我的.emacs文件中有以下几行:
(load-file "~/.emacs.d/php-mode.el")
(require 'php-mode)
(setq c-default-style "linux" c-basic-offset 4)
Run Code Online (Sandbox Code Playgroud)
它在大多数情况下都非常好用.问题是对于某些代码位,Emacs以不同的方式显示代码与其他编辑器.例如,我在Emacs中有以下代码:
public function showStuff($items, $Stuff) {
$restrict = true;
$stuff = false;
$moreStuff = true;
if (($restrict && $stuff >= $moreStuff)
|| ( $moreStuff > 10)) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
但是在Eclipse/Sublime Text/Text Wrangler中查看相同的文件看起来像:
public function showStuff($items, $Stuff) {
$restrict = true;
$stuff = false;
$moreStuff = true;
if (($restrict && $stuff >= $moreStuff)
|| ( $moreStuff > 10)) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以评论为什么我看到这些结果和可能的解决方案?
谢谢.
因为看起来你想使用空格而不是标签,我认为这基本上是一个副本:
我找不到这个:如何在EMACS中使用4个SPACES而不是TAB?
或者,如果您只想要PHP文件,那么您将使用:
(add-hook 'php-mode-hook 'my-php-mode-hook)
(defun my-php-mode-hook ()
"My PHP mode configuration."
(setq indent-tabs-mode nil
tab-width 4
c-basic-offset 4))
Run Code Online (Sandbox Code Playgroud)
在此之前,如果代码在Emacs中看起来正确,请将选项卡转换为空格:
untabify RET我还要看一下:http:
//www.emacswiki.org/emacs/CategoryIndentation
(或者注意到它,至少 - 在Emacs中缩进可能比预期的要复杂,并且那里有很多好的信息.)