Emacsの設定
環境を変更したので、emacsの設定をメモ。
準備するもの
- emacs22
- pymacs (http://pymacs.progiciels-bpi.ca/archives/Pymacs-0.23.tar.gz)
- pysmell
- anything.el (http://dev.ariel-networks.com/Members/matsuyama/open-anything-emacs )
anythingの設定が甘いので、それは今後の課題。
; Copyright (C) 2009 Kawa ;日本語対応 (set-language-environment "Japanese") ; Libraryの追加 (setq load-path (append '("~/lib/emacs") load-path)) ; pymacs の設定 (autoload 'pymacs-apply "pymacs") (autoload 'pymacs-call "pymacs") (autoload 'pymacs-eval "pymacs" nil t) (autoload 'pymacs-exec "pymacs" nil t) (autoload 'pymacs-load "pymacs" nil t) (eval-after-load "pymacs" '(add-to-list 'pymacs-load-path "/usr/share/emacs22/site-lisp")) ; Python Modeにする設定 ; M-TAB:補完 ; C-c C-c: バッファ内容をPythonで実行 ; C-c | C-c C-r: リージョンの内容をPythonで実行 ; C-c C-s: 任意の式を実行 ; C-c C-z: Pythonの出力を表示 ; C-c !: Python Shellに移動 (setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist)) (setq interpreter-mode-alist (cons '("python" . python-mode) interpreter-mode-alist)) (autoload 'python-mode "python-mode" "Python editing mode." t) (add-hook 'python-mode-hook '(lambda () (require 'pycomplete) )) (require 'anything-config) (require 'anything) ;Kill Ringの表示 (setq anything-kill-ring-threshold 5) (global-set-key "\M-y" 'anything-show-kill-ring) ; C-h を削除に変更 (global-set-key "\C-h" 'backword-delete-char) (global-set-key "\C-cl" 'goto-line) (global-set-key "\C-cg" 'grep) (global-set-key "\C-c\C-s" 'replace-string) (global-set-key "\C-c\C-l" 'indent-region) (global-set-key "\C-cp" 'c-beginning-of-defun) (global-set-key "\C-cn" 'c-end-of-defun) ;;bs-showでバッファ選択する。 (global-set-key "\C-x\C-b" 'bs-show) ;;選択範囲に色を付ける (transient-mark-mode 1) ;;行番号表示 (setq line-number-mode t) ;;列番号表示 (setq column-number-mode t) ;; 対応する括弧を光らせる(グラフィック環境のみ作用) (show-paren-mode t) ;現在時刻を表示する (display-time) ; 自動補完 (~/lib/emacs/auto-complete.el) ; auto complete (http://dev.ariel-networks.com/Members/matsuyama/auto-complete) ; M-x auto-complete-modeで有効化 ; TAB: 補完を実行する ; C-n/<down>: 次の候補 ; C-p/<up>: 前の候補 ; C-m/RET:補完完了 ; (require 'auto-complete) (global-auto-complete-mode t) ; pytho 補完ライブラリ ; easy_install pysmell ; http://d.hatena.ne.jp/moch-lite/20090419/p1 (require 'pysmell) (add-hook 'python-mode-hook (lambda () (pysmell-mode 1))) (defvar ac-source-pysmell '((candidates . (lambda () (require 'pysmell) (pysmell-get-all-completions)))) "Source for PySmell") (add-hook 'python-mode-hook '(lambda () (set (make-local-variable 'ac-sources) (append ac-sources '(ac-source-pysmell)))))