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

mic*_*ico 6 emacs elisp emacs24 projectile

是否有可能设置特定颜色主题或只是挂钩特定项目来运行自定义elisp?

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

这里的框架我的意思是框架不仅仅是一个缓冲区.

Dia*_*ara 5

您目前无法做到,但是弹丸问题清单上正在进行类似讨论 。但是,您可以使用.dir-locals.el文件来完成此操作。我猜想.projectile一旦开发人员决定使用文件,将来会针对文件使用类似的东西。

dir-locals.el旨在为该特定目录中的所有文件设置局部变量,您可以查看文档或此博客文章以获取详细信息。它不是专门为运行elisp代码而设计的(我相信设置主题是一个加载主题函数调用),这是有充分理由的。但是,您可以使用eval变量来解决此问题,emacs会询问您是否运行代码。

((nil . ((eval . (load-theme 'molokai 
                         )
           ))))
Run Code Online (Sandbox Code Playgroud)

或者您可以根据主要模式进行更出色的操作。

 ((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"))))))
Run Code Online (Sandbox Code Playgroud)