2015-07-15 10 views
8

Tôi mới làm quen với Emacs. Tôi đã cài đặt đạn.Tại sao dự án Emacs C-c p không xác định?

Khi tôi làm C-c p, nó nói:

C-c p is undefined 

Tự hỏi những gì là sai?

Sau đây là tệp ~/.emacs của tôi.

(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) 

Sửa

tập tin .projectile My

-/venv 
-*.pyc 
-*.pyc~ 
-.git 
-.gitignore 
-.DS_Store 

Chỉnh sửa 2

C-h v đầu ra cho projectile-keymap-prefix như sau:

projectile-keymap-prefix is a variable defined in `projectile.el'. 
Its value is "^Cp" 

Documentation: 
Projectile keymap prefix. 

You can customize this variable 

Sửa 3

Tôi đang sử dụng OS X 10.10.4. Tôi bắt đầu emacs từ dòng lệnh $emacs. Tôi đã cài đặt Emacs bằng các lệnh sau:

brew install emacs --with-cocoa 

Và, lần đầu tiên (khi tôi khởi chạy emacs). Nếu làm M-x, tôi không nhận được project-switch-project, thay vì tôi nhận được project-switch-to-buffer. Sau khi chuyển đổi bộ đệm, tôi có thể chuyển đổi dự án.

+0

Bạn có một file '.projectile' nơi nào đó? Nếu bạn không ở trong một dự án, sự hiểu biết của tôi là điều này có thể không hoạt động. – GJStein

+0

Tôi cũng nên chỉ ra rằng mã '.init' của bạn đã làm việc cho tôi về việc cài đặt' projectile' và nhận các lệnh để hoạt động. Hãy thử khởi động lại các emac, có lẽ. – GJStein

+0

Xin chào, tôi có tệp .projectile trong thư mục – Elisa

Trả lời

0

Tiền tố sơ đồ bàn phím mặc định của Projectile được xác định bởi biến projectile-keymap-prefix. Bạn có thể sử dụng C-h v để xem giá trị của biến đó. Nếu không thiết lập hoặc không phải là ^Cp, bạn có thể sử dụng mã dưới đây để đặt nó vào C-c p

(setq projectile-keymap-prefix (kbd "C-c p")) 

hoặc bất kỳ với phím tắt khác quan trọng như bạn muốn.

+0

Hi Tinker, Dường như có biến '^ Cp' đã được đặt cho' projectile-keymap-prefix'. Tôi đã thêm edit2 trong câu hỏi của mình ở trên. – Elisa

+0

Ồ, thật lạ lùng. Hảy để tôi thấy. Trước tiên bạn có thể thực thi lệnh 'projectile-find-file' để xem nó có hoạt động hay không. Sau đó sử dụng 'C-h f' để xem các khóa ràng buộc. Là máy tính của tôi, nó là 'C-c p f'. Vì vậy, tôi có thể sử dụng nó để thực hiện lệnh phóng. Mọi thứ đều ổn, nhưng bạn có vấn đề, vậy thì tôi không có ý tưởng gì về điều này. –

+0

'projectile-find-file' hoạt động như mong đợi. 'C-h f' cũng hoạt động. Nhưng 'C-c p f' không hoạt động. – Elisa

1

Bạn cần phải tự kích hoạt chế độ đạn trong tập tin ~/.emacs của bạn:

(projectile-mode 1) 
Các vấn đề liên quan