やぐブロ

yag + programming + hateblo

ParEditのリファレンスまとめ&paredit-forwardのキーバンドの変更

Clojureの環境は前回整えたので(Clojure + Emacs環境のセッティング(MacOSX Lion 10.7) - やぐブロ),実際にClojureのチュートリアルや「プログラミングClojure」を参考に,Clojureのコードを書いて勉強している.言語自体の独特のカッコの多さや階層構造のせいでコードが上手く書くことが出来ないのは慣れの問題で,初心者がEmacsキーバインドを覚えるが如く体に染み込ませる他無いのだが,ParEditの独特な挙動で思い通りに書けなかったりするのは若干良くない気がする.ということで,取り敢えずClojureの勉強をしつつ,平行してParEditにも慣れていくことに.

参考

なお,emacs上でParEditのコマンドを確認するには,M-x describe-bindingsしてpareditのキーバインドを探せば良い.

キーバインディングの変更

あと,S式の単位で移動するparedit-forward(もしくはforward-sexp)がC-M-fに割り当てられており押しにくい感じだったので,バインディングを変更した.

(add-hook 'clojure-mode-hook
                '(lambda ()
                   (define-key clojure-mode-map
                      (kbd "C-i") 'paredit-forward)))

みたいな感じで書いて,C-iでforwardだけは出来るようにした.S式の単位で移動するコマンドは他にもbackwardであったりマークして移動したりという便利な機能があるのだが,取り敢えずはforwardさえ簡単に出来るようにしておけばなんとかなるかな.

(追記:やはりC-iはインデントの整形に取っておいたほうが良さそう)