如何在Emacs中为特定项目(投射物)设置主题

如何在Emacs中为特定项目(投射物)设置主题,emacs,elisp,emacs24,projectile,Emacs,Elisp,Emacs24,Projectile,有没有可能设置一个特定的颜色主题,或者只是挂接一个特定的项目来运行定制的elisp 所以,当我从特定项目(路径)打开文件时,想法是自动设置颜色主题或背景色?例如,我可以在不同的框架下处理多个项目,并立即知道我在哪里。也许这可以写在.抛射体文件中 这里所说的帧,我指的不仅仅是一个缓冲区。你现在还不能这样做,但这里正在讨论类似于 . 但是,您可以使用.dir locals.el文件来完成此操作。我猜想,一旦开发人员做出决定,将来将使用.sparlode文件为sparlode实现类似的功能 dir l

有没有可能设置一个特定的颜色主题,或者只是挂接一个特定的项目来运行定制的elisp

所以,当我从特定项目(路径)打开文件时,想法是自动设置颜色主题或背景色?例如,我可以在不同的框架下处理多个项目,并立即知道我在哪里。也许这可以写在.抛射体文件中


这里所说的帧,我指的不仅仅是一个缓冲区。

你现在还不能这样做,但这里正在讨论类似于 . 但是,您可以使用
.dir locals.el
文件来完成此操作。我猜想,一旦开发人员做出决定,将来将使用
.sparlode
文件为sparlode实现类似的功能

dir locals.el
用于为该特定目录中的所有文件设置局部变量,您可以签出文档或此文件以获取详细信息。它并不是专门为运行elisp代码而设计的(我认为设置主题就是加载主题函数调用),这是有充分理由的。但是,您可以使用eval变量来解决这个问题,emacs将询问您是否要运行代码

((nil . ((eval . (load-theme 'molokai 
                         )
           ))))
或者你也可以根据主要的模式做一些更有趣的事情

 ((nil . ((indent-tabs-mode . t)
          (tab-width . 4)
          (fill-column . 80)))
  ;; Warn about spaces used for indentation:
  (haskell-mode . ((eval . (highlight-regexp "^ *"))))
  (c-mode . ((c-file-style . "BSD")))
  (java-mode . ((c-file-style . "BSD")))
  ("src/imported"
   . ((nil . ((change-log-default-name . "ChangeLog.local"))))))
最新的射弹(射弹-20140716.416)现在支持在项目切换后钩住任意elisp,例如:

  (load-theme 'zenburn t)

这里有一个利用钩子的示例脚本:

这太棒了。但是Sproject可能并没有任何现成的东西。凄凉的关联:这些都是好消息,我来看看!