我在Emacs中使用web-mode来获取PHP和HTML的语法高亮和缩进。
如果我在.php文件中有此代码
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
然后将光标放在中间一行并按Tab键,然后没有任何反应。
我希望它看起来像这样:
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
如果我将文本放在一行标记中并尝试缩进,则可以正常工作。
此:
<p>
<a>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</a>
</p>
变成了这个,它应该
<p>
<a>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</a>
</p>
我的.emacs文件
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.jsp\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))
(setq web-mode-markup-indent-offset 4)
(setq web-mode-css-indent-offset 4)
(setq web-mode-code-indent-offset 4)
(setq web-mode-indent-style 4)
答案 0 :(得分:7)
尝试将这些设置放在钩子函数中:
(defun my-web-mode-hook ()
"Hooks for Web mode."
(setq web-mode-markup-indent-offset 4)
(setq web-mode-css-indent-offset 4)
(setq web-mode-code-indent-offset 4)
(setq web-mode-indent-style 4)
)
(add-hook 'web-mode-hook 'my-web-mode-hook)
答案 1 :(得分:1)
你可以添加这个
(add-to-list 'auto-mode-alist '("\\.php\\'" . web-mode))