2010-09-27 12 views
5

Ich fange gerade an, Python zu benutzen, aber ich bin ein sehr erfahrener Emacs Benutzer. Ich würde versuchen, zwischen python.el und python-mode.el (oder jedem anderen gleichwertigen Modus, den Leute vorschlagen können) zu entscheiden.Emacs Python Modus Einstellungen

Derzeit stark auf python-mode.el Ich bin Neigung, vor allem, weil es eine nützliche „indent-region“ Methode ...

Allerdings hat, gibt es ein paar Eigenschaften von C-Modus, die ich scheine in beiden Modi zu fehlen, die zur nächsten/vorherigen Funktion gehen (c-Anfang-von-defun) (dies unterscheidet sich von py-goto-Block-up in der 1) gibt es keine Py-Goto-Block-down und 2) Sie können cb .... verwenden, um durch mehrere Funktionen zu scrollen, aber die py .. geht nur Ebenen)

Auch, da C Klammern hat, etc, ist es einfach, den Anfang/das Ende zu finden ein aktueller Abschnitt. py-goto-Block-up gibt mir den Anfang eines Blocks, aber es gibt kein Äquivalent für das Ende des Blocks ...

dank

+0

Sie können Python-Blöcke mit python.el unter Emacs 23.2 fest einrücken, indem Sie einfach den Blocktext auswählen und dann Cc <(python-shift-left) oder Cc> (python-shift-right) eingeben, wenn das anspricht Sie über Einzugsbereich unter python-mode.el – codeasone

+0

Was ist die Frage? –

+0

Die Frage ist "Gibt es einen besseren Python-Modus oder wie kann ich diese Dinge in den bestehenden Python-Modi tun?" –

Antwort

4

Es gibt C-M-a und C-M-e in Python-Modus. Sie beginnen und enden jeweils mit dem aktuellen Def oder der aktuellen Klasse. Sie sind standardmäßig auf beginning-of-defun und end-of-defun gemappt.

Es gibt auch C-c C-u, die python-beginning-of-block zugeordnet ist. Mein Python-Modus bildet standardmäßig keine python-end-of-block ab, aber es ist auch dort.

+0

ja, aber sie funktionieren nur für Top-Level-Strukturen, wie Def und Klasse ... Sie können sie nicht verwenden, um das Ende einer Forloop zu finden ... –

+0

Ah, aus irgendeinem Grund dachte ich, du hättest schon 'python- [ Anfang | Ende] -von-Block'. Bearbeitet. – nmichaels

0

Ich finde pdbtrack (Teil der Python-mode.el) von unschätzbarem Wert

0

aktuelle Python-mode.el kommt mit vielen feineren Befehlen bzw. gekörnt. zu blockieren, aussage, ausdruck, Teilausdruck, Klasse, def, Linie

mit Attributen von beg/Ende/Kopieren/Löschen/execute

es

https://launchpad.net/python-mode

0

Don bei bekommen Vergiss nicht, dass es zwei python.el Dateien gibt. Einer ist der "alte" in Emacs jetzt, und the other ist von fgallina und wird in Emacs 24.2 sein, wenn es veröffentlicht wird. Ich bin nicht qualifiziert zu sagen, ob der neue besser ist als python-mode.el.