是否有可能设置特定的颜色主题或只是挂钩特定项目以运行自定义 elisp?
所以这个想法是当我从特定项目(路径)打开文件时自动设置颜色主题或背景颜色?例如,我可以在不同框架中处理多个项目,并立即知道我在哪里。可能这可以以某种方式写在 .projectile 文件中吗?
这里的帧我的意思是帧不仅仅是一个缓冲区。
是否有可能设置特定的颜色主题或只是挂钩特定项目以运行自定义 elisp?
所以这个想法是当我从特定项目(路径)打开文件时自动设置颜色主题或背景颜色?例如,我可以在不同框架中处理多个项目,并立即知道我在哪里。可能这可以以某种方式写在 .projectile 文件中吗?
这里的帧我的意思是帧不仅仅是一个缓冲区。
你现在还不能这样做,但是在Projectile issue list中有一个关于类似
问题的讨论。但是,您可以使用.dir-locals.el
文件来完成此操作。我猜想.projectile
一旦开发人员决定使用文件,将来会为使用文件的弹丸实现类似的东西。
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"))))))
最新的弹丸(projectile-20140716.416)现在支持在项目切换后挂接任意elisp,elisp如:
(load-theme 'zenburn t)
一个利用钩子的示例脚本在这里:http: //github.com/jfeltz/projectile-load-settings