【问题标题】:How to set a theme for specific project (Projectile) in Emacs如何在 Emacs 中为特定项目(Projectile)设置主题
【发布时间】:2013-10-23 08:21:12
【问题描述】:

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

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

这里的帧我的意思是帧不仅仅是一个缓冲区。

【问题讨论】:

标签: emacs elisp emacs24 projectile


【解决方案1】:

目前您无法执行此操作,但此处正在讨论类似的内容 Projectile issue list。但是,您可以使用.dir-locals.el 文件来完成此操作。我猜想一旦开发人员决定使用.projectile 文件,将来会为弹丸实现类似的东西。

dir-locals.el 旨在为该特定目录中的所有文件设置局部变量,您可以查看文档或此blog post 了解详细信息。它不是专门为运行 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"))))))

【讨论】:

    【解决方案2】:

    最新弹丸(projectile-20140716.416)现在支持在项目切换后挂接任意elisp,elisp如:

      (load-theme 'zenburn t)
    

    一个利用钩子的示例脚本在这里:http://github.com/jfeltz/projectile-load-settings

    【讨论】:

    • 这些是好消息,将检查一下!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 2012-03-17
    • 2011-12-26
    • 1970-01-01
    • 2023-01-14
    • 2017-08-07
    相关资源
    最近更新 更多