org-modeでメモをとる
メモは取ることに意味があって、一旦書きとめてしまえば、それを見返すことはないという話を聞いたことがある。 重要なことであれば自然に覚えているからというのがその主な根拠だ。 だが、思考の整理学で外山滋比古先生も、発想のためのメモをとりたびたびそれを見返すことを薦めていたように思う。
どちらもなるほどなという気はする。
僕にとってメモツールは、思考の整理に不可欠であるし、備忘録としても不可欠だ。
以前の僕はメモを見返すことはあまりなかった。 そのころは、書くことで頭が整理される、大切なことなら忘れない、見返しは不要だという意見に賛同していた。 けれども、Evernoteやorg-captureを使うようになると、過去のメモを検索するようになった。 発想法ではなく、備忘録としてのメモだ。 こういうツールを使うようになると、過去のメモを探すコストが飛躍的に低くなって、
(探そうかな)
という気が起こる。
そして、実際に検索して見返すようになると、いろいろと新しい発想がある。 なにより、以前考えたことをまた一から考えるという、「車輪の再発明」はしなくてすむ。
それでも、メモの第一最大の効用は、メモをとることによって、思考が整理されることだと思う。 頭の中のイメージを文章化することで、漠然とした思いのうち、わかっていることとわかっていないことが明らかになる。重なり合いの多い物事を発見することもできる。 そして、そうやって考えたことを記録して、少し寝かせてから読み直すと、新たな考えが浮かんでくることが多い。
さて、本記事は、スマホでorg-modeのorg-capture機能を使って、メモを閲覧・記録する方法を紹介する。 emacsをスマホで使うことは可能だが、「そこまでしなくても」的な思いがぬぐえない。 だいたいスマホを使うシチュエーションで、フルにemacsを使える必要はないし、org-modeの機能もそこまで必要ではない。
メモを取り、メインのパソコンと同期できればよい。もちろんToDoの管理やアウトラインは欲しい。 画像はあってもなくてもいい。
つまり、org-modeをメモとして使うのは、org-modeへの偏愛ではなくて、org-modeによるメモが必要十分な機能を備えているからだ。
org-mode使用歴
僕はorg-modeを主にアウトラインエディタとして使用してきた。僕のばあい、コードを挿入する必要はほとんどないので、そこまで複雑な機能は使っていない。 ただ、文章だけはたくさん書いた。 org-modeを使って、一冊本を出版したし、数十ページある講義資料も作成した。
最近では、統計分析(計量経済学の分析)をRでやるようになり、そのレポートを作成するために、rmdを使うようになっている。
org-modeとmarkdownが一つになれば便利なのになあと感じる。 僕は共同研究することがけっこうある。 org-babelの存在は知っている。でも、rmdまでは使ってもらえても、非emacserにorg-modeを使えとは言いにくい。
ついでに、emacs設定のハードルの高さも障害だ。 やはり、他のエディタでもorg-modeの基本的な部分は使えるほうがありがたい。 長期的に考えると、org-modeはmarkdownの上位互換をめざした方が良い気がする。
markdownが使える人に、その拡張書式として、こんなのがあるから使いませんか?そんな誘い方ができそうだ。 mdの機能がシンプルだから、やろうと思えば、markdown書式を吸収してしまうことは可能だろう。
本記事の内容
本記事では、オープンソースツールでorg-modeのメモを作成・同期する方法を紹介する。 同期ツールとしてSyncthingを使用する。そして、Android端末にはOrgzly、iOS端末にはbeOrgを使用する。
この構成にたどり着くまでにはいろいろな試行錯誤があった。 直接のきっかけは、それまではDropboxを使っていたのだけれど、制限強化を機に脱Dropboxをはかることにした。
メモツール遍歴
メモに関して言えば、僕は学生の頃からノートを使って、積極的にメモを取ってきた。
一瞬東大式メモカードに浮気したこともあるけれど、ノートのほうが好きだった。
ノートもシステム手帳を使ってみた時期も長いけれど、結局はA5サイズのノートを一番気に入って使っている。
1997年頃からはモバイルノートを使って、テキストファイルにメモの一部を取り始めた。 Evernoteを使い始めたのは、2008年4月だ。 org-captureは、2010年の夏頃だと思うけれど、詳しくは覚えていない。
他にはNotion.soやGoogle Keepにも少し手を出してみたが、定着しなかった。
Evernoteはわりと使っていたのだが、Evernoteのポリシー変更時に、org-capture中心に移行した。 僕は、自宅と職場が遠くて、それぞれにPCを用意している。そして出張用のノートPCもあるし、スマホとタブレットも一台ずつ持っている。 基本的にこれだけの環境で自由に使えるツールでないと、ストレスなく仕事ができない。 Evernoteのフリーアカウントがクライアントを3台までに制限したことで、僕はEvernoteを使って仕事ができなくなった。
Pro版を買えば?という声も聞こえるけれど、そこまでは使っていない。 平均すれば、月に100枚もメモをしないと思う。
それに、Evernoteを使うといっても書式設定は基本的にしないし、画像等を保管することもほとんどない。
(あるから使う程度で、必要性はまったくない)
そういう意味で、Evernoteの機能拡張にもあまり興味がなかった。それはDropboxも同じだ。Dropbox Paper等のツールが開発されていたけれども、僕はシンプルなメモツールが欲しいわけで、いろいろな機能は別に必要としてない。
Evernoteのポリシー変更を機にそれまでは主にPCだけで使っていたorg-modeをモバイル端末で使う実験が始まった。
DropboxでデータをSyncすれば基本的に使えるので、しばらくそのままで使っていた。 ちなみに、Dropboxは、長らく有料版を使ってきていたが、職場でGoogleDriveとOneDriveを使えるようになったため、解約した。 2018年には、ほとんどEmacsの設定とorg-captureのデータを同期させるハブとしての役割だけになっていた。
しかし、Dropboxもまたポリシーを変更してきた。 Evernoteと同じ制限だ。 これでは仕事にならない。
Pro版の購入も考えたが、なんとなく、Emacsもorg-modeもオープンソースなのだから、オープンソースで同期環境も構築したくなった。 どうせお金を払うのなら、同期ハブではなく、ツールそのもの、Emacsやorg-modeに寄付をしたい。
オープンソースな環境
さて、これでようやくSyncthingにたどり着く。 Syncthingを使ってみると、なかなか快適だった。 ただし、当初はNextCloud(またはOwnCloud)を試していなかったため、あちらのほうがいいのかもなあという思いが拭えなかった。
Syncthingは1ヶ月ほど快適に使っていたのだが、ちょっとしたトラブルが発生した。 サーバの料金を支払うのを忘れていて、サーバが削除されてしまったのだ。 データ自体はローカルに同期されているので、問題はないのだが、またSyncthingをインストール・設定するのがどうもめんどうな気がした。
(本記事執筆前に改めてインストールしたら、そこまで大変ではなかった。 当時は調べながら試行錯誤していたため、かなり面倒に感じたのかもしれない)
改めて、いくつかのツールを評価することにして、サーバを再契約した。 まずは、ちょうどConohaでNextCloudをプリインストールしたイメージが配布されていたので、こちらを利用することにした。 サーバにNextCloudをインストールして、Windows、Mac、スマホ(Android)にクライアントをインストールする。 そして、それぞれOrg-Captureで使用するファイルが同期されるようにした。
Windows版とMac版は問題なく利用できた。 Android版はといえば、これがめんどくさい。 NextCloudのクライアントで同期して、Orgzlyでさらに同期しないといけない。
iOS版の場合は、NextCloudのクライアントは必要なくて、NextCloudのWebDAV機能を使う事になっていた。 こちらは自動で同期ができるようだが、タイミングがわかりにくくて、毎回、念のために手動同期していた。 が、そこまで不便でもない。
ちなみに僕のモバイルメモ端末は、Androidスマホなので、こちらの使い勝手を優先したい。 そうなると、NextCloudの手間はちょっと考えられない。
2週間、NextCloudを使い、一念発起してあらためてSyncthingをインストール・設定した。
やはりこちらのほうが快適だ。
なにより、Android版は自動で同期ができる。 省電力設定が少しわかりにくいが、あまり気にしなくても、バッテリーの消費も激しくない。 Androidでメモを記入して、しばらく放っておけば、サーバとファイルを同期してくれる。その後、PCなどを起動していればそちらにも自動で同期される。 AndoidとPCを直接リンクさせることもできるが、そうすると、PCが複数台あるときなど、同期がめんどうそうだ。 おそらく、サーバ的なPCを用意すればよいと思うけど、なんかそれぐらいなら、ネット上にサーバを一台借りたほうがわかりやすい。
ただし、Android版のSyncthingは自動で終了してしまうようで、ときどき再起動しなくてはならない。 結局、Nextcloudと同じような使い勝手になっている。。。
iOSの方は、やはりWebDAV経由になる。 SyncthingにはWebDAVサーバ機能はないので、Apacheなどを適当に設定する。 まあ、これはそんなに難しくもないし、日常の使用感としては、NextCloudを利用した場合とおなじになる。