我有一个emacs模式钩子代码
(defun php-mode-hook ()
(setq tab-width 4
c-basic-offset 4
c-hanging-comment-ender-p nil
indent-tabs-mode
(not
(and (string-match "/\\(PEAR\\|pear\\)/" (buffer-file-name))
(string-match "\.php$" (buffer-file-name))))))
每当我在emacs中打开php文件时,我都需要确保调用此函数。 我已经为emacs安装了php-mode以及在.emacs文件中添加了这个代码,但似乎没有工作..谁能告诉我如何为emacs添加这样的自定义代码?
注意:我最近已迁移到emacs ..请在回答时更具描述性.. :)
更新了代码1
(add-hook 'php-mode-hook
'(lambda()
(setq tab-width 4
c-basic-offset 4
c-hanging-comment-ender-p nil
indent-tabs-mode
(not
(and (string-match "/\\(PEAR\\|pear\\)/" (buffer-file-name))
(string-match "\.php$" (buffer-file-name)))))))
答案 0 :(得分:2)
通过各种模式提供的地方添加挂钩通常可以使用add-hook
功能。您使用要使用的钩子的名称定义了一个函数。相反,您应该使用其他名称定义一个函数,将add-hook
添加到php-mode-hook
:
(defun my-php-settings ()
...)
(add-hook 'php-mode-hook 'my-php-settings)
实际上,您根本不需要创建命名函数:
(add-hook 'php-mode-hook
(lambda ()
(setq tab-width 4 ...)))