Emacs dla Pythonautów
Celem tego pakietu jest udostępnienie podpowiadania składni Pythona w Emacsie, jak również ułatwienie dostępu do dokumentacji.
UWAGA:
Podstawą działania pakietu są instrukcja exec i funkcja eval, a więc gdy na ścieżce PYTHONPATH mogą znaleźć się skrypty podejrzanego pochodzenia, to skutki mogą być przykre.
Dostępne są następujące funkcje:
- podpowiadanie składni używając klawisza TAB (lub C-M-i) np. time.cl<TAB> -> time.clock time.<TAB> -> lista możliwości do wyboru
- opis elementu (funkcji/modulu/klasy/slowa kluczowego) w miejscu kursora używając klawisza F1
- po wpisaniu nazwy funkcji i otwarciu nawiasu podpowiadana jest składnia wywołania funkcji np. time.strftime( -> strftime(format[, tuple]) -> string
- klawisz F2 pozwala na zapytanie o sygnaturę funkcji bez wpisywania jej w bieżącym buforze
- klawisz F3 pozwala na pobranie opisu dowolnego elementu bez konieczności zaznaczania kursorem i wciskania F1
=============== Python 2.x =================
Wymagania:
- najnowsza wersja z trunka Pymacsa lub moja paczka przygotowana dla Pythona2.x
- python-mode lub python-mode.el załączony do tego pakietu
Instalacja:
- w przypadku oryginalnego Pymacsa, zainstalować wg instrukcji
- w przypadku Pymacsa z mojej paczki: plik pymacs.el skopiować na load-path Emacsa (np. /usr/share/emacs/site-lisp), a katalog Pymacs na ścieżkę PYTHONPATH (np. /usr/lib/python2.7/site-packages)
- pliki python-mode.el i pycomplete.el skopiować na ścieżkę load-path Emacsa (np. /usr/share/emacs/site-lisp).
- plik pycomplete skopiować na ścieżkę PYTHONPATH (np. /usr/lib/python2.7/site-packages)
- dodać poniższe ustawnienia do pliku konfiguracyjnego .emacs
# .emacs
;; python-mode settings
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist(cons '("python" . python-mode)
interpreter-mode-alist))
;; path to python interpreter, e.g.: ~rw/python27/bin/python2.7
(setq py-python-command "python")
(autoload 'python-mode "python-mode" "Python editing mode." t)
;; pymacs settings
(setq pymacs-python-command py-python-command)
(autoload 'pymacs-load "pymacs" nil t)
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(require 'pycomplete)
# end of .emacs
=============== Python 3.x =================
Wymagania:
- najnowsza wersja z trunka Pymacsa lub moja paczka przygotowana dla Pythona3.x
- python-mode lub python-mode.el załączony do tego pakietu
Instalacja:
- w przypadku oryginalnego Pymacsa, zainstalować wg instrukcji
- w przypadku Pymacsa z mojej paczki: plik pymacs.el skopiować na load-path Emacsa (np. /usr/share/emacs/site-lisp), a katalog Pymacs na ścieżkę PYTHONPATH (np. /usr/lib/python3.1/site-packages)
- pliki python-mode.el i pycomplete.el skopiować na ścieżkę load-path Emacsa (np. /usr/share/emacs/site-lisp).
- plik pycomplete3 skopiować na ścieżkę PYTHONPATH (np. /usr/lib/python3.1/site-packages)
- dodać poniższe ustawnienia do pliku konfiguracyjnego .emacs
# .emacs
;; python-mode settings
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist(cons '("python" . python-mode)
interpreter-mode-alist))
;; path to the python interpreter, e.g.: ~rw/python31/bin/python3.1
(setq py-python-command "python3")
(autoload 'python-mode "python-mode" "Python editing mode." t)
;; pymacs settings
(setq pymacs-python-command py-python-command)
(autoload 'pymacs-load "pymacs" nil t)
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(require 'pycomplete)
# end of .emacs