为什么不能emacs 24找到我添加的自定义主题?

时间:2012-03-23 14:04:08

标签: emacs dot-emacs emacs24

我的整个emacs设置为here

我加载了我的init-theme.el文件here

据说应该提供the darkclean theme

但是当我输入M-x load-theme TAB时,黑名单主题未列出。

如何为Emacs 24注册?

4 个答案:

答案 0 :(得分:11)

如果您通过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.els.el(可从elpa获得)

答案 1 :(得分:7)

init-themes已注释掉加载路径。

我有(add-to-list 'custom-theme-load-path "~/.emacs.d/themes"),我认为它找到了M-x load-themeenter的所有主题,然后按Tab键查看所有主题。

你的回购没有在github上搜索,所以我无法看到你是否在其他地方这样做。你的darkclean也兼容24主题吗?

编辑:1

实际上我想到了另一种调试技术来排除它是黑暗清洁与设置。把你的目录放进去 solarized theme如果你没有在你的加载主题中看到它,你知道它是你而不是主题,因为solarized在emacs 24上以这种方式为我工作。

我不喜欢它,实际上更喜欢袋熊。

答案 2 :(得分:2)

我是emacs的新手,想要添加一些自定义主题并创建自己的主题。

首先添加此

(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")

然后将任何新主题添加到该文件夹​​。 这第一个没有用,当我使用load-theme时没有加载的〜/ .emacs.d / thems中的主题。

文件说:

  

每个主题文件都名为THEME-theme.el,其中THEME是主题   名。

所以将darklean.el重命名为darkclean-theme.el就可以了。

答案 3 :(得分:0)

我认为你需要设置custom-theme-directory然后包括。{ 在custom-safe-themes中使用sha256哈希来删除确认提示 每次加载它。要插入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/")
)

要查看我的实际设置,请查看以下链接: