2015-07-15 15 views
8

Sono nuovo di Emacs. Ho installato Projectile.Perché il progetto Emacs C-c p non è definito?

Quando faccio C-c p, si dice:

C-c p is undefined 

chiedendo cosa è sbagliato?

Di seguito è riportato il file ~/.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) 

Modifica

Il mio file .projectile

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

Edit 2

C-h v output per projectile-keymap-prefix come di seguito:

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

Documentation: 
Projectile keymap prefix. 

You can customize this variable 

Edit 3

Sto usando OS X 10.10.4. Avvio emacs dalla riga di comando $emacs. Ho installato Emacs usando i seguenti comandi:

brew install emacs --with-cocoa 

E, la prima volta (quando lancio emacs). Se faccio M-x, non ho il project-switch-project, piuttosto ottengo project-switch-to-buffer. Dopo aver cambiato buffer, posso cambiare progetto.

+0

Hai un file '.projectile' da qualche parte? Se non sei all'interno di un progetto, la mia comprensione è che potrebbe non funzionare. – GJStein

+0

Dovrei anche sottolineare che il tuo codice '.init' ha funzionato per me in termini di installazione di' proiettile' e ottenere i comandi per funzionare. Prova a riavviare emacs, forse. – GJStein

+0

Ciao, ho il file .projectile nella directory – Elisa

risposta

0

Il prefisso della mappa di chiavi predefinito di Projectile è definito dalla variabile projectile-keymap-prefix. È possibile utilizzare C-h v per visualizzare il valore di tale variabile. Se non è impostata o non è ^Cp, è possibile utilizzare il codice sottostante per impostarlo su C-c p

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

o qualsiasi altra cosa si lega chiave come ti piace.

+0

Hi Tinker, Sembra che ci sia la variabile '^ Cp' già impostata per' proiettile-chiave-prefisso'. Ho aggiunto edit2 nella mia domanda sopra. – Elisa

+0

Oh, è strano. Fammi vedere. Potresti prima eseguire il comando 'projectile-find-file' per vedere se funziona. Quindi usa 'C-h f' per vedere i tasti di rilegatura. Come il mio computer, è 'C-c p f'. Quindi posso usarlo per eseguire il comando del proiettile. Funziona tutto bene, ma hai ancora il problema, quindi non ne ho idea. –

+0

'projectile-find-file' funziona come previsto. Anche 'C-h f' funziona. Ma 'C-c p f' non funziona. – Elisa

1

è necessario attivare manualmente la modalità proiettile nel file ~/.emacs:

(projectile-mode 1) 
Problemi correlati