Недавно я начал изучать Emacs. Я просмотрел учебник, прочитал несколько вводных статей, пока все хорошо.
Теперь я хочу использовать его для разработки на Python. Насколько я понимаю, для Emacs существует два отдельных режима Python: python-mode.el, который является частью проекта Python; и python.el, который является частью Emacs 22.
Я прочитал всю информацию, которую смог найти, но большая ее часть кажется устаревшей, и я все еще в замешательстве.
Вопросы:
Соответствующие ссылки:






Если вы используете GNU Emacs 21 или более раннюю версию или XEmacs, используйте python-mode.el. GNU Emacs 22 python.el не будет работать с ними. В GNU Emacs 22 python.el действительно работает и лучше связан с синтаксическим анализом и завершением символов GNU Emacs, ElDoc и т. д. Я сам использую XEmacs, поэтому не использую его, и я слышал, как люди жалуются, что это не так. Раньше это не очень хорошо работало, но есть обновления, которые исправляют некоторые из проблем (например, на странице emacswiki, на которую вы ссылаетесь), и можно надеяться, что некоторые из них уже были интегрированы в апстрим. Если бы я был представителем GNU Emacs, я бы использовал python.el до тех пор, пока не нашел конкретных причин не делать этого.
Насколько я знаю, самая большая проблема python-mode.el заключается в том, что он не совсем понимает строки, заключенные в тройные кавычки. Он обрабатывает их как заключенные в одинарные кавычки, что означает, что одиночная кавычка внутри строки с тройными кавычками приведет к отключению подсветки синтаксиса: он будет думать, что строка на этом закончилась. Вам также может потребоваться изменить список автоматического режима, чтобы включить режим Python для файлов .py; Я не помню, так ли это до сих пор, но мой init.el уже много лет настраивает auto-mode-alist.
Что касается других аддонов, я бы не стал считать их «существенными». Функциональное меню XEmacs иногда бывает полезным, оно дает вам небольшое меню браузера функций / классов для текущего файла. Я не помню, есть ли в GNU Emacs что-нибудь подобное. У меня есть первый режим для редактирования reStructuredText, который используется в некоторых проектах. Привязка к любой используемой вами VC, если таковая имеется, может быть вам полезна, но есть встроенная поддержка большинства и легко загружаемых файлов .el для остальных.
Как пользователь GNU emacs 22 (в Windows). Я поддерживаю это. python-mode.el на самом деле ничего вам не покупает (хотя он работает). Единственная реальная причина использовать python-mode.el может заключаться в том, чтобы заставить ipython работать в emacs, однако, к сожалению, это не работает в Windows. В unix YMMV ....
Этот сайт содержит описание того, как получить автозавершение кода Python в Emacs. Ropemacs - это способ заставить Rope работать в emacs. У меня не было большого опыта работы с ними, но они заслуживают внимания.
Я пользуюсь верёвочными машинами (правда, не самой современной), их довольно легко установить и использовать по инструкции.
Я только что попробовал ropemacs и могу согласиться с другими комментаторами :) rope + ropemode + ropemacs == круто. Хорошая запись в блоге о разработке на Python с помощью emacs, кстати: enigmacurry.com/2008/05/09/emacs-as-a-powerful-python-ide по-прежнему является хорошей ссылкой, даже если она немного устарела
Ссылки Ropeemacs мертвы
Учитывая, сколько раз у меня было несколько открытых буферов, все они назывались __init__.py, я считаю, что библиотека унифицировать необходима для разработки на Python.
Pyflakes также помогает продуктивности.
Я использовал Emacs в течение 2 лет, но чтение и запись Python в Emacs по-прежнему для меня кошмар. Сложная конфигурация веревки, булавы, пимака ... сводит меня с ума. Так что лично я рекомендую Eclipse + pydev.