如何在emacs中添加php模式挂钩

时间:2010-10-04 04:25:12

标签: php emacs

我有一个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)))))))

1 个答案:

答案 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 ...)))