emacs - 为什么 Emacs 项目 C-c p 未定义?

标签 emacs projectile emacs-projectile

我是 Emacs 新手。我已经安装了Projectile。

当我执行 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 v projectile-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。切换缓冲区后,我可以切换项目。

最佳答案

您现在需要显式启用它并设置前缀。启用带有 C-c C-p 前缀的 Projectile 的步骤:

(projectile-mode +1)
(define-key projectile-mode-map (kbd "C-c C-p") 'projectile-command-map)

这种情况在 2018 年发生了几次变化。鲍里斯曾经将 C-c p 设置为默认领导者,然后将其更改为 C-c C-p 以符合 the emacs keybinding conventions (项目符号 #2 提到了这一点。)。但现在它已完全删除,因此您应该自己设置。

关于emacs - 为什么 Emacs 项目 C-c p 未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31421106/

相关文章:

emacs - 在所有文件的顶部隐藏长版权信息

emacs - 在 Emacs 组织模式中转义字符

emacs - Org LaTeX 预览在视网膜显示器上是模糊的

emacs - 如何强制 emacs 弹丸重新初始化项目?

swift - Sprite 套件中弹丸的平滑过渡

emacs projectile - 在没有 git、hg 等存储库的情况下初始化项目缓存

java - Ant -e 仅用于 java 任务

java - 坐标对的 2D 抛射运动

git - 在一个项目中具有多个 repos(git/svn 等)的 Emacs 射弹