Вопрос

Я недавно начал учиться Эмакс.Я прошел руководство, прочитал несколько вводных статей, пока все хорошо.

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

Я прочитал всю информацию, которую смог найти, но большая ее часть кажется устаревшей, и я все еще в замешательстве.

Вопросы:

  1. В чем их разница?
  2. Какой режим мне следует установить и использовать?
  3. Существуют ли другие дополнения Emacs, необходимые для разработки на Python?

Соответствующие ссылки:

Это было полезно?

Решение

Если вы используете 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-modealist.

Что касается других дополнений, я бы не назвал ничего «существенного».Функциональное меню XEmacs иногда бывает полезно: оно дает вам небольшое меню браузера функций/классов для текущего файла.Я не помню, было ли в GNU Emacs что-нибудь подобное.У меня есть первый режим для редактирования reStructuredText, который используется в некоторых проектах.Привязка к любому виртуальному компьютеру, который вы используете, если таковой имеется, может быть вам полезна, но для большинства имеется встроенная поддержка, а для остальных есть легко загружаемые файлы .el.

Другие советы

Этот сайт содержит описание того, как получить завершение кода Python в Emacs.Ропемакс это способ заставить Rope работать в emacs.У меня не было большого опыта работы ни с одним из них, но они заслуживают внимания.

Учитывая количество раз, когда у меня есть несколько открытых буферов, все они называются __init__.py, я считаю унифицировать библиотека, необходимая для разработки Python.

Pyflakes также способствует повышению производительности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top