quick-bookmark
emacs で、ちょっと場所を覚えておいて、他の場所を見てから、
戻ってきたいときがある。
そんな時、このelispが使える。
emacsにはもともとレジスタというものがあり、
そこに様々な情報を格納出来る。
例えば、カーソルの位置やバッファの名前、ファイル名だ。
レジスタの名前は英数字で決めることが出来る。
しかし、だ。
レジスタへの位置の記録は、以下のようなキーバインドだ。
C-x r SPC r
これでは、長くてやってられない。
そもそも覚えるのはひとつでいいのだ。
ちょっと覚えておきたいだけなのだから。
そこで、以下のコードだ。
;; quick bookmark (defun set-quick-bookmark() "set quick bookmark" (interactive) (progn (point-to-register ?t) (message "栞を入れました。" ))) (defun go-quick-bookmark() "go quick bookmark" (interactive) (progn (jump-to-register ?t) (message "栞まで飛びます。"))) (global-set-key (kbd "C-,") 'set-quick-bookmark) (global-set-key (kbd "C-." ) 'go-quick-bookmark) (define-key php-mode-map (kbd "C-,") 'set-quick-bookmark) (define-key js2-mode-map (kbd "C-,") 'set-quick-bookmark)
これを実行すると、C-, でその場所を記憶し、C-. でその場所まで戻る。
これが慣れると本当に使える。