2010-01-14 11 views
6

Ich benutze Emacs 23 mit Python-Modus 5.1.0, um meine Python-Programme zu bearbeiten. Manchmal, wenn ich ein Programm schreibe, möchte ich ein kleines Wegwerf-Python-Skript ausführen und so starte ich den interaktiven Zug (C-c!). Das ist in Ordnung, aber der Code wird weder eingeprägt noch hervorgehoben, und wenn ich versuche, den Python-Modus auszuführen, wird er nicht mehr ausgewertet. Also, wie setze ich es zum Einrücken und Markieren?Making Python Interaktiven Modus von Emacs Highlight und Indent

Antwort

3

Das Hinzufügen zu meinen .emacs scheint es getan zu haben.

Das Bit, wo es den Namen des Puffers in der Beratung überprüft, wäre wahrscheinlich besser als ein Test auf eine Puffer-lokale Variable, die durch set-pycomint-Schlüsselwörter gesetzt wird, aber Sie bekommen die Idee.

(defun set-pycomint-keywords() 
    (setq font-lock-keywords  python-font-lock-keywords)) 

(add-hook 'py-shell-hook 'set-pycomint-keywords) 



(defadvice comint-send-input (around block-comint-formatting activate) 
    (if (string= (buffer-name) "*Python*") 
     (letf (((symbol-function 'add-text-properties) (lambda (x y z) nil))) 
     ad-do-it)) 
    ad-do-it) 
+0

habe ich versucht, und es färbt den Text richtig. Wenn ich aber def fn (a) schreibe: und drücke Enter, geht es nicht in a ... sondern löst immer einen Einrückungsfehler aus. – Nikwin

-1

Ich habe Zeit, um es jetzt nicht zu versuchen, aber ich fand Sie Python-Shell ersetzen können, wenn Sie Cc drücken mit diesem, die leistungsstärker sein sollte:

http://ipython.scipy.org/moin/

Wenn i werde mal probieren ich werde es versuchen

+0

Dies beantwortet die Frage nicht. – Gyuri

+0

Das ist nett zu wissen, und ich werde es irgendwann versuchen, aber es wird nicht die Art ändern, wie Emacs die Shell anzeigt. – Nikwin