2014-02-08 62 views
6

我在Emacs中使用web-mode來獲取PHP和HTML的語法突出顯示和縮進。HTML(網絡模式)的Emacs縮進無法正常工作

如果我在一個PHP文件有這樣的代碼

<p> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
</p> 

,然後把光標放在中間行,然後按選項卡,然後什麼也沒有發生。

我希望它看起來像這樣:

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

enter image description here

+0

嗨,壓痕工作對我來說,你使用的是什麼版本的網絡模式? – 2014-02-08 16:38:17

+0

我在Emacs中使用web-mode 8.0.9 24.3.1 –

+0

我使用相同的版本,縮進作品爲代碼'

Lorem ipsum dolor sit amet,consectetur adipiscing elit。

'。即使在php文件中只有上述代碼時,縮進是否​​會失敗? – 2014-02-08 16:50:29

回答

0

您可以加入這個

(add-to-list 'auto-mode-alist '("\\.php\\'" . web-mode)) 
+0

似乎沒有任何區別 –

5

嘗試把這些設置在一個鉤子函數:

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