2009-08-10 14 views
15

Esiste un tutorial completo su come configurare emacs per l'uso con Django (1.1) (su Mac)? Sto pensando di passare da TextMate a Emacs per avere un editor multipiattaforma per django. Ho il mio preferito tema da textmate e voglio convertirlo in emacs (forse è "converter" per questo?). Passare da Textmate è una buona idea?Django + Emacs (come sostituto TextMate)

risposta

29

I secondi @ suggerimento di docgnome di Django mode e yasnippet, ma il kicker reale che vi farà mai voglia di tornare a TextMate è quello di integrare PyFlakes nel vostro ambiente di sviluppo, a quel punto Emacs vi fornirà on-the-fly notifica di errori nel tuo codice Python. Questi vanno ben oltre il rilevamento degli errori di livello typo che si ottiene gratuitamente solo con l'evidenziazione della sintassi; verrai informato di errori quali variabili prima dell'assegnazione, importazioni inutilizzate e indentazione errata, tra le altre cose.

Installazione pyflakes in Emacs è relativamente semplice: basta scaricare e installare PyFlakes, e quindi aggiungere il seguente al vostro ~/.emacs o ~/.emacs.d/init.el, a seconda dei casi:

(when (load "flymake" t) 
    (defun flymake-pyflakes-init() 
    (let* ((temp-file (flymake-init-create-temp-buffer-copy 
         'flymake-create-temp-inplace)) 
      (local-file (file-relative-name 
         temp-file 
         (file-name-directory buffer-file-name)))) 
     (list "pyflakes" (list local-file)))) 
    (add-to-list 'flymake-allowed-file-name-masks 
       '("\\.py\\'" flymake-pyflakes-init))) 
(add-hook 'python-mode-hook 'flymake-mode) 

Questo è tutto. Ora dovresti notare che, ogni volta che modifichi Python, gli errori sono evidenziati in rosso. Passa il mouse per vedere una spiegazione completa di cosa c'è che non va nella linea fornita.

Per quanto riguarda l'argomento come TextMate: il tema può essere un po 'fastidioso Emacs; a meno che tu non voglia veramente il tema esatto che hai in TextMate, mi piacerebbe prendere Color Theme per Emacs e trovarne uno che si adatta alle tue fantasie. Quasi sicuramente ne troverai uno molto vicino al tuo attuale TextMate e non dovrai occuparti della configurazione manuale dei volti.

+1

Ti consiglio anche Emacs Starter Kit per chiunque provenga da uno sfondo Mac. È un insieme di impostazioni predefinite molto sensato. – Singletoned

4

Si potrebbe verificare Django mode for emacs. Quale funzionalità specifica stavi cercando? Per i frammenti, ti suggerisco yasnippet che si ispira al sistema di frammenti di testo di TextMate.

+0

come si usano gli snippet dopo aver installato yasnippet? In Sublime Text è piuttosto semplice, si digita "if", quindi viene visualizzato un elenco di quali frammenti sono disponibili, quindi è possibile premere TAB e scriverà {% if rze = rze%} per te. Quindi puoi passare attraverso ogni elemento e modificarli con TAB –