Ich habe versucht, Emacs so zu konfigurieren, dass der richtige Python-Modus verwendet wird. Zu diesem Zweck habe ich einige Tutorials gelesen. Am wichtigsten ist dieser . Das Tutorial verwendet das python-mode
Paket. Wenn ich es jedoch über den Paketmanager ( M-x package-install RET python-mode RET
) installiere, kann ich die für dieses Paket verfügbaren Verknüpfungen nicht verwenden.
Ich habe eine Python-Datei geöffnet, um einige Verknüpfungen zu testen, z. B. C-c |
, die den ausgewählten Ausdruck auswerten sollen. Zu meiner Überraschung funktionierten diese jedoch nicht und ich beschloss, andere Tutorials zu diesem Thema zu finden. In meiner Moduszeile sehe ich jedoch Python
, dass einige python-mode
aktiviert sind.
Im Emacs-Wiki habe ich das folgende Snippet gefunden, das ich meiner init.el
Datei hinzufügen kann:
(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))
Wenn ich dies hinzufüge, python-mode
funktioniert das tatsächlich und die oben genannten Verknüpfungen funktionieren auch.
Ich verstehe nicht richtig, was dies mehr bewirkt als die manuelle Ausführung M-x python-mode
in einem Python-Dateipuffer.
Als ich alle Spuren python-mode
in meinem .emacs-Ordner entfernte und eine Python-Datei öffnete, bemerkte ich, dass ich noch eine habe python-mode
. Meine Vermutung ist also, dass es zwei python-mode
s gibt?
Ich denke ich möchte das python-mode
von https://launchpad.net/python-mode . Es scheint, dass es im Paket-Repository vorhanden ist, aber ich bin nicht sicher, wie ich den anderen Python-Modus entfernen soll.
Könnte jemand bitte näher darauf eingehen?
Antworten:
Nun ja, es gibt zwei Python-Modi: Der eine, der mit Emacs geliefert wird, ist
python.el
der andere,python-mode.el
der tatsächlich dieser ist: https://launchpad.net/python-modeIhr Tutorial hat auf das spätere verwiesen.
Ihr
python-mode
Setup-Snippet führt Folgendes aus:quelle
init.el
Gerät tragbar ist, daher ist das Entfernenpython.el
möglicherweise keine Option.Als Betreuer von python-mode.el und zusätzlich zur Antwort von @Adobe: python-mode.el entlädt keine Befehle aus python.el - beide sind verfügbar. Aufgrund des Namens der Python-Mode-Map, die von beiden verwendet wird und nicht geändert werden kann, ohne viele Dinge zu beschädigen, werden Tastenkombinationen und das Menü von der zuletzt geladenen geliefert.
C-c |ruft an
py-execute-region
und funktioniert hier gut. Vielleicht wurde python.el danach geladen und die Bindung weg. Das Aufrufen des Befehls über Mx ist möglicherweise eine Option als. Bei Problemen lesen Sie bitte einen Fehlerbericht unter https://bugs.launchpad.net/python-modequelle