【发布时间】:2015-07-15 03:41:38
【问题描述】:
我是 Emacs 的新手。我已经安装了弹丸。
当我执行C-c p 时,它会说:
C-c p is undefined
想知道哪里出了问题?
以下是我的~/.emacs 文件。
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(defvar required-packages
'(
projectile
) "a list of packages to ensure are installed at launch.")
(require 'cl)
; method to check if all packages are installed
(defun packages-installed-p ()
(loop for p in required-packages
when (not (package-installed-p p)) do (return nil)
finally (return t)))
; if not all packages are installed, check one by one and install the missing ones.
(unless (packages-installed-p)
; check for new packages (package versions)
(message "%s" "Emacs is now refreshing its package database...")
(package-refresh-contents)
(message "%s" " done.")
; install the missing packages
(dolist (p required-packages)
(when (not (package-installed-p p))
(package-install p))))
(require 'projectile)
(projectile-global-mode)
编辑
我的 .projectile 文件
-/venv
-*.pyc
-*.pyc~
-.git
-.gitignore
-.DS_Store
编辑 2
C-h vprojectile-keymap-prefix 的输出如下:
projectile-keymap-prefix is a variable defined in `projectile.el'.
Its value is "^Cp"
Documentation:
Projectile keymap prefix.
You can customize this variable
编辑 3
我使用的是 OS X 10.10.4。我从命令行$emacs 启动emacs。我已经使用以下命令安装了 Emacs:
brew install emacs --with-cocoa
而且,第一次(当我启动 emacs 时)。如果做M-x,我不会得到project-switch-project,而是得到project-switch-to-buffer。切换缓冲区后,我可以切换项目。
【问题讨论】:
-
您在某处有
.projectile文件吗?如果您不在项目中,我的理解是这可能行不通。 -
我还应该指出,您的
.init代码在安装projectile和使命令运行方面对我有用。试试重启emacs吧。 -
嗨,我的目录中有 .projectile 文件
-
我在基本模式下看到暂存缓冲区的相同行为。如果我尝试在初始暂存缓冲区中使用 C-c p 它不起作用,但在我编辑其他文件时它会起作用。是不是你在 Emacs 启动时在初始暂存缓冲区中尝试 C-c p ?显然,如果 C-c p 也可以在暂存缓冲区中工作会很好,但这不是什么大问题。
标签: emacs projectile emacs-projectile