読書力アップ!マウスを使って瞬時に文章の抜き書きを作成する方法

どうも、org-modeに対してツンデレなるびきちです。 Twitterではかなりツンツンしていますが、たまにはデレてあげてもいいんだからね?

今回は マウスを有効活用 するテクニックをorg-modeで使い、Emacsで文章を読んでいるときに、気になる部分を抜き書きして保存する方法を紹介します。 目に見える範囲を指定するのは、キーボードよりもマウスの方が得意です。 ふつうにorg-captureやorg-rememberを使うと、抜き書きのたびにいちいちC-wからC-yを使う必要があり、面倒です。 そこで、マウスをドラッグするだけで抜き書きが作成できるようにしました。

レバレッジ・リーディング(僕による紹介)では、レバレッジメモ(抜き書きのこと)を作成してそれを何度も読み返します。 レバレッジメモの欠点は打ち込みに時間がかかりすぎることです。 そこで、レバレッジ・リーディングの対象をパソコン上の文書に広げることにします。 ネット上にも書籍に匹敵する価値のある文章が存在します。 なんといっても、この方法を使うと、マウスドラッグだけでレバレッジメモが作成できてしまうのです。 レバレッジメモができたら、いつものようにプリンタで印刷して持ち歩きます。 もちろん、メモの内容は実践しましょう!

;;; (save-window-excursion (shell-command "emacs-test -L ~/src/org-mode/lisp/ -l org-capture-mouse"))
;;; (install-elisp "http://www.rubyist.net/~rubikitch/archive/mouse-excursion.el")
(require 'org)
(require 'mouse-excursion)
(defun org-capture-region-immediately (s e)
  "リージョン S から E でをキャプチャする。"
  (interactive "r")
  (let ((region-string (buffer-substring s e))
        (org-capture-templates
         '(("\C-c" "clock" entry (file+headline "~/memo/capture.org" "capture")
            "* %(identity region-string)\n"
            :immediate-finish t))))
    (unless (= s e)
      (org-capture))))
(defun mouse-org-capture-region-immediately (click)
  (interactive "e")
  (mouse-funcall-region-excursion 'org-capture-region-immediately click))
(define-minor-mode mouse-capture-mode
  "caputure region by <mouse-3>"
  t nil '(([down-mouse-3] . mouse-drag-region-excursion)
          ([drag-mouse-3] . mouse-org-capture-region-immediately)))
(provide 'org-capture-mouse)

auto-install.elを使えばEmacsの中からすぐに使えます。


M-x install-elisp http://www.rubyist.net/~rubikitch/archive/mouse-excursion.el
M-x install-elisp http://www.rubyist.net/~rubikitch/archive/org-capture-mouse.el

抜き書きファイルは ~/memo/capture.org なので、必要ならば修正してください。

使い方はいたって簡単で、右ドラッグするだけです。 ドラッグしてボタンを離した瞬間に抜き書きされます。 抜き書きが完成すれば、 ~/memo/capture.org を開き、C-x C-wを使って別名で保存してください。