1

当我现在启动 emacs 时,prelude 不再被激活。这是我的personal.el文件:

(setq-default tab-width 4)
(setq tab-width 4)
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(tab-stop-list (quote (4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120))))
(setq exec-path (append exec-path '("/usr/bin/")))
(setq auto-fill-mode -1)
(setq-default fill-column 99999)
(setq fill-column 99999)
(setq global-hl-line-mode -1)
(require 'projectile)

(defun myprojectilehook ()
  (projectile-mode)
)

(add-hook 'find-file-hook 'myprojectilehook)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))

我尝试向 find-file-hook 添加一个钩子,这将为当前缓冲区启用弹丸,但没有太大成功。当我打开 emacs 弹丸被禁用。当我访问一个新文件时,弹丸仍然被禁用。我究竟做错了什么?

4

2 回答 2

3

有一个projectile-global-mode也可以在有项目上下文的任何地方激活 Projectile。projectile-global-mode在 Prelude 中默认激活,所以我猜真正的问题与您的 Prelude 设置有关。好歹:

(projectile-global-mode +1)

应该无条件地为您的所有项目启用射弹。请记住,projectile对于 projectile 不认为是项目的目录中的缓冲区,这将始终被禁用(除非您.projectile在其中添加文件以标记项目的根文件夹)。

PS 我是 Prelude 和 Projectile 的作者,所以请随意在此处或在 GitHub 上的各自问题跟踪器上发布有关 Prelude 和 Projectile 问题的更多详细信息。

于 2012-06-23T09:22:55.093 回答
0

请注意,在 Emacs 24 之前,(projectile-mode)切换模式(就像用 调用它一样M-x projectile-mode)。如果它打开,那将关闭它。

假设它使用标准模式定义宏,(projectile-mode 1)将启用和(projectile-mode -1)禁用。

C-h f projectile-mode应该表明这一点。

于 2012-06-22T10:55:20.693 回答