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