Vergleich der Python-Modi für Emacs

Ich habe also Emacs 24.3 und dazu kommt eine recht neue python.el -Datei, die einen Python-Modus zum Bearbeiten bietet.

Ich lese aber immer wieder, dass es auf Launchpad einen Python-mode.el gibt. Wenn ich die beiden Dateien vergleiche, wird mir klar, dass die erste unter 4000 Zeilen liegt, während die letzte fast 20000 beträgt -Reich.

Ich kann keinen Online-Funktionsvergleich über sie, Dokumentation oder zumindest eine Liste der Funktionen für jeden von ihnen finden. Ja, es gibt Syntax-Hervorhebungen und eingebettete Interpreter, aber was ist mit dem Abschluss in Shell-Puffer, dem Abschluss in Quelldatei-Puffer, Autoindent, Reindent usw.?

Was sind die wichtigsten Merkmale dieser Modi? (Oder einen anderen Python-Modus für Emacs, den Sie empfehlen.) Bitte geben Sie detaillierte Antworten.

Ich war einmal Python-mode.el-Benutzer, habe aber vor einem Jahr aufgehört, es zu benutzen, weil ich der Meinung war, dass die Entwicklung nicht gut organisiert war. Hier ist eine Liste aus meiner damaligen Notiz. Aber ich muss Sie darauf hinweisen, dass seitdem fast ein Jahr vergangen ist, so dass sich die Situation ändern kann.

> Viele kopieren > Funktionen einfügen.
> Viele versehentlich arbeitende Codes. Beispielsweise keine Variablen weitergeben, sondern implizite Bindung verwenden. Dies führt zu vielen Kompilierungsfehlern (und funktioniert nicht, wenn Sie es in den lexikalischen Bereich ändern).
> Grobe Granularität des Commits. Ich sende einen Patch, der mit nicht verwandten Änderungen begangen wurde.

Was mir an python-mode.el gefällt, ist, dass es mit einem automatisierten Test-Set kommt (obwohl ich es noch nie ausgeführt habe). python.el hat noch keinen Test. Aber ich weiß, dass der Autor von python.el es jetzt schreibt.

Obwohl python.el kompakt ist, bedeutet das nicht, dass Sie eine schlechte Funktionalität erhalten. Es ist eher so, als würde man den Kern klein halten und es anderen erlauben, ihn durch eine kurze API zu erweitern. Derselbe Autor von python.el schrieb python-django.el, um python.el für Django-Projekte zu erweitern. Ich habe ein Auto-Completion-Plugin für Python mit dem Namen Jedi.el und ein fortgeschrittenes IPython-Plugin mit dem Namen EIN geschrieben. Beide haben eine bessere Unterstützung für Python.el als für Python-mode.el (na ja, weil ich Python-mode.el nicht verwende ).

Ich hatte zuerst ein paar Dinge, die ich von Python-mode.el vermisst habe, aber sie werden schnell in Python.el behoben (natürlich bedeutet das, dass ich nicht so viel Funktionalität in Python-mode.el verwendet habe).

what about completion in shell buffer, completion in source file buffer, autoindent, reindent etc.

> Fertigstellung in Shell-Puffer:
Es funktioniert sowohl in python.el als auch in python-mode.el. Aber manchmal funktioniert es nicht, wenn Sie eine schlechte Kombination aus Emacs-Version und Python (-mode) .el-Version haben. Wahrscheinlich ist Python.el auf diese Weise sicherer.
Wenn Sie eine bessere Lösung wünschen, verwenden Sie EIN 🙂
> Fertigstellung im Quelldateipuffer:
Verwenden Sie einfach Jedi.el 🙂
> autoindent / reindent:
Ich weiß nicht, welcher der beiden in Bezug auf Leistung besser ist. Die Tastenkombination für die Rückgabe unterscheidet sich jedoch voneinander. Wenn Sie in python-mode.el RET eingeben, wird autoindent angezeigt. In python.el gibt Ihnen RET keine Einrückung, und Sie sollten stattdessen C-j verwenden. Eigentlich ist C-j für Newline-Einrückungen universelles Verhalten in Emacs. Python.el ist also besser, wenn Sie in anderen Sprachen programmieren.

Ursprüngliche URL:https://stackoverflow.com/questions/15670505/comparison-of-python-modes-for-emacs

Zitieren Sie bitte die URL dieses Artikels: Vergleich der Python-Modi für Emacs