修正:emacswikiのElectricPairがうまく動かないので、以前emacswikiのPython-Modeのページに載っていたコードに変更
Emacsで特に何の設定をする事もなく、デフォルトで使えるらしい『python.el』の方のpython-mode。
少々設定を加えると、なかなかいい感じ。
(MacOSX10.5, python2.5, Carbon Emacs 2008-11-01版)
できるようにすることなど
- 改行でインデント
- 括弧を閉じる
- metaキー+『"』とか『(』とか押すと、『""』とか『()』とか
- 『'』『[』『{』なども同様に
- Pythonの対話モードで、タブ押すと補完
.emacs.elに設定を書く
関数electric-pairは『EmacsWiki: Electric Pair』より『EmacsWiki: Python Programming In Emacs』に以前、載っていたコードをそのままコピペ。
;;http://www.emacswiki.org/emacs/ElectricPair (defun electric-pair () "If at end of line, insert character pair without surrounding spaces. Otherwise, just insert the typed character." (interactive) (if (eolp) (let (parens-require-spaces) (insert-pair)) (self-insert-command 1)))
;; Complete the closing pair (defun electric-pair () "Insert character pair without sournding spaces" (interactive) (let (parens-require-spaces) (insert-pair))) ;; python.el (add-hook 'python-mode-hook '(lambda () (define-key python-mode-map "\C-m" 'newline-and-indent) (define-key python-mode-map "\M-\"" 'electric-pair) (define-key python-mode-map "\M-\'" 'electric-pair) (define-key python-mode-map "\M-[" 'electric-pair) (define-key python-mode-map "\M-{" 'electric-pair) (define-key python-mode-map "\M-(" 'electric-pair) (define-key inferior-python-mode-map "\t" 'python-complete-symbol) ))