Установка модуля python.el в Emacs’е
Долгое время я использовал python-mode.el для работы с Питоном в Emacs’е. А тут решил-таки разобраться с более “продвинутым” режимом python.el.
Как водится, без “пляски с бубнами” не обошлось — пакет упорно требовал кучу других пакетов, отказывался нормально работать… Но, вроде, разобрался.
Предупреждение: Описывается процесс установки и настройки для Emacs 21!
Скачайте и распакуйте этот архив: python-mode.zip
Он содержит следующие файлы:
python-21.elsyntax.elsym-comp.elpair-mode.eleldoc.elemacs.py
Установка
- Кладем все
*.elфайлы в каталог, где Emacs может их найти (хорошо бы еще откомпилировать их для ускорения работы); - Файл
emacs.pyкладем в каталог, где его может найти Python (например,/usr/lib/python2.3/site-packagesили аналогичный в вашей системе).
Настойка
Вставляем следующие строки в ~/.emacs:
(autoload 'pair-mode "pair-mode" "Pair Mode" t)
(setq auto-mode-alist
(cons '("\\.py$" . python-mode) auto-mode-alist))
(add-hook 'python-mode-hook
'(lambda ()
(pair-mode 1)
(eldoc-mode 1)
(outline-minor-mode 1)
t))
Перезапускаем редактор.
Последние штрихи: настройка pair-mode и outline-minor-mode.
Загружаем какой-нибудь Питоновский скрипт, вводим: M-x customize-option RET pair-mode-chars RET, удаляем угловую скобку < и добавляем вместо нее кавычку " и обычный апостроф '. Нажимаем State и выбираем Save for Future Sessions.
Теперь можно поменять префикс для Outline Mode (мне, например, удобнее пользоваться C-c C-c вместо C-c @: снова M-x customize-option RET outline-minor-mode-prefix RET и при помощи C-q вводим нужную последовательность управляющих символов. Нажимаем State и выбираем Save for Future Sessions.
Теперь при открытии файла с текстом на Питоне (*.py) вам будут доступны (кроме подсветки синтаксиса и автоматического отступа) еще несколько полезных вещей:
- Автодополение имен функций и модулей по
M-TAB(правда, ищет только в ключевых словах,__builtins__и импортируемых модулях), т.е. послеimport sysвведяsys.paи нажавM-TABвы увидите, что введенный текст дополнился доsys.path; - Доступ к справке по модулям и функциям (выдача pydoc);
- Подсказка в эхо-области по параметрам функции, на названии которой стоит курсор;
- Загрузка и выполнение модулей не выходя из редактора;
- Открытие файла модуля под курсором;
- Outline-mode позволяет скрывать части кода, видеть общую структуру и быстро перемещаться по классам и функциям.
RSS