【发布时间】:2012-04-08 02:14:14
【问题描述】:
我的整个 emacs 设置是 here
我加载了我的 init-theme.el 文件 here
据说这应该使the darkclean theme可用。
但是当我输入M-x load-theme TAB 时,没有列出darkclean 主题。
如何为 Emacs 24 注册它?
【问题讨论】:
-
look here emacs 24 有自己的主题支持。
我的整个 emacs 设置是 here
我加载了我的 init-theme.el 文件 here
据说这应该使the darkclean theme可用。
但是当我输入M-x load-theme TAB 时,没有列出darkclean 主题。
如何为 Emacs 24 注册它?
【问题讨论】:
如果您通过elpa / package.el 安装主题,您会注意到您需要将每个主题文件夹添加到您的custom-theme-load-path - 这手动操作有点麻烦,尤其是当您考虑到升级将创建一个新文件夹,例如0.1.0 -> 0.1.2 将是您的 elpa 文件夹中的一个新文件夹。
假设您已将您的 elpa 软件包安装到 ~/.emacs.d/elpa/ 中,将此脚本添加到您的 ~/.emacs.d/init.el
(require 'dash)
(require 's)
(-each
(-map
(lambda (item)
(format "~/.emacs.d/elpa/%s" item))
(-filter
(lambda (item) (s-contains? "theme" item))
(directory-files "~/.emacs.d/elpa/")))
(lambda (item)
(add-to-list 'custom-theme-load-path item)))
您需要 dash.el 和 s.el(可从 elpa 获得。)
【讨论】:
C-h v RET custom-theme-load-path 验证了我的自动更新。
custom-theme-load-path(大多数更新/维护良好的主题至少会。)。上面的脚本只是添加了那些没有的。 el-get 源代码本身似乎与custom-theme-load-path 没有任何关系,请继续使用 grep。
init-themes 已注释掉加载路径。
我有这个(add-to-list 'custom-theme-load-path "~/.emacs.d/themes"),我认为它用M-x load-theme、enter 找到了我所有的主题,然后点击标签查看所有主题。
在 github 中没有搜索到您的 repo,所以我无法通过 grep 来查看您是否在其他地方进行搜索。你的darkclean也兼容24主题吗?
编辑:1
实际上我想到了另一种调试技术来排除它是darkclean vs setup。放入你的目录 solarized theme 如果你没有在你的加载主题中看到它,你知道它是你而不是主题,因为 solarized 在 emacs 24 上以这种方式为我工作。
我不喜欢它,实际上更喜欢袋熊。
【讨论】:
我是 emacs 新手,想添加一些自定义主题并创建自己的主题。
先添加这个
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
然后将任何新主题添加到该文件夹。 这首先不起作用,当我使用加载主题时, ~/.emacs.d/thems 中的主题未加载。
文档说:
每个主题文件都被命名为 THEME-theme.el,其中 THEME 是主题 名字。
所以将 darklean.el 重命名为 darkclean-theme.el 就成功了
【讨论】:
我认为您需要设置 custom-theme-directory 然后包含
custom-safe-themes 中的 sha256 hash 删除确认提示
每次你加载它。要插入 sha256 哈希,您可以使用
customize 接口,然后为您计算。要启用
主题,您必须将其包含在 custom-enabled-themes 中。
以下是我的设置示例:
(custom-set-variables
;; ...
'(custom-enabled-themes (quote (dark-emacs)))
'(custom-safe-themes (quote ("<SHA256 hash goes here>" default)))
'(custom-theme-directory "~/.emacs.d/themes/")
)
要查看我的实际设置,请查看以下链接:
【讨论】: