让emacs在打开文件时有条件地选择模式

让emacs在打开文件时有条件地选择模式,emacs,Emacs,我使用php调试器geben和nxhtml模式——编辑php文件的标准模式。不幸的是,这两种模式不能很好地混合。当我手动打开php文件时,是否可以将emacs配置为仅有条件地启用nxhtml,而当geben打开缓冲区时,则启用php模式?好的,我似乎已经修复了它。警告我真的不知道我在做什么——这是我在lisp中的第一步,我通过反复试验找到了它。我已将此添加到.emacs文件的末尾: (require 'geben) (defun geben-enter-php-mode () (let* (

我使用php调试器geben和nxhtml模式——编辑php文件的标准模式。不幸的是,这两种模式不能很好地混合。当我手动打开php文件时,是否可以将emacs配置为仅有条件地启用nxhtml,而当geben打开缓冲区时,则启用php模式?

好的,我似乎已经修复了它。警告我真的不知道我在做什么——这是我在lisp中的第一步,我通过反复试验找到了它。我已将此添加到.emacs文件的末尾:

(require 'geben)
(defun geben-enter-php-mode ()
  (let* ((local-path (buffer-file-name))
     (session (and local-path (geben-source-find-session local-path))))
    (if session
        (let ((session nil))
          (php-mode)))))

(add-hook 'find-file-hook #'geben-enter-php-mode)