技術memo

関数型ゴースト

テキストメモツール比較、あるいはhowm(一人お手軽wikiもどき)を使い始めた話

考え事をメモしたり、各種記録をつけたりといった、メモツール界隈(?)には以前から関心がありました。

ここ最近Emacsを使い始めたタイミングで丁度良さそうなツールを見つけたこともあり、各種情報をまとめてみることにしました。

ツール比較とか

ChangeLog memo

  • 1つのテキストファイルに、時系列で、日付を付けて、メモを書き連ねます。
  • 任意のテキストエディタで即日開始可能な手軽さがあります。
  • 1ヶ月ほど運用して、割と良さそうではあったのですが、結局移行しました。
    • 書式がちょっといまいち好みでない。
      • これに関してはオレオレ書式テンプレート挿入ショートカットを作って解決済みでしたが……。
    • 1ファイル全メモだと、長いメモがあるときに邪魔。
      • あとは、別書式のファイルを混ぜづらい、とか。

Org-mode

  • 多機能なテキストベースの統合メモ環境。
  • 主にEmacsですが、iOS, Androidと多デバイス対応。
  • 何となく敷居が高そうに思えて導入見送りしました。
    • 書式が何となく気に入らない。markdownで書きたい。
    • org-mode周辺ツールへの依存性が高そう。*1
    • 何でもやろうとしすぎ。*2

Evernote

  • 超汎用・超多機能・商業メモサービス。
  • 多ファイル形式対応、多デバイス対応。
  • 思想上の理由により導入は見送りしました。
    • 情報管理をサービスに完全依存はしたくない思いが。。

PoIC

  • 情報カードと呼ばれる紙片に、1枚1メモで書き、時系列で保管します。
  • 以前*3に1年くらい使っていましたが、嵩張る割に再利用も殆どしなかったため、運用停止しました。
  • 思想的にはかなり共感するところがあったので、結局上手くいかず残念でした。*4

手帳(モレスキン野帳、大学ノート等)

  • 運用にあたっては、以下のあたりの形式付けは必須でしょう。
    • 時系列での記述
    • 分類別ノートor全分類混合(どちらが良いかは意見が分かれます)
    • タイムスタンプ付加
    • ノート全体への通し番号の付加
  • 私の感覚としては、物理媒体は
    1. 書く
    2. 書けば書くほど嵩張る
    3. 書くのを躊躇う
    4. 書かなくなる
      • と一直線に進んでしまうのが、どうもダメでした。
      • パラパラめくるには良くても、検索もできませんし。

今回使ってみたもの

howm: Hitori Otegaru Wiki Modoki

  • 1ファイル1メモで記述、日時ファイル名のテンプレート入りファイルを自動生成
  • 基本的にはテキストファイルのみ。
  • ツール自体はEmacs, Vim, Android等対応。iOS対応が欲しいです……。*5
  • 時系列での一覧、全文検索機能を備える。
    • おまけでスケジュール/TODO管理を混ぜたり、ランダム表示させたりも可能。
  • メモ間の参照リンクや、タグ付け風のことも可能

環境構築

  • Emacs自体に関しては以前の記事*6にあるように、導入済みです。
  • howm本体はversion1.4.2をDL・展開して、Emacsのロードパスが通っている場所に配置。
  • init.elはこんな感じです。大した変更はありません。
    • MarkDownで書くためのテンプレート変更
    • システムファイルの移動(~/howm-confディレクトリ)
(defvar datetime-format "%Y-%m-%dT%H:%M:%S")
;; 言語
(setq howm-menu-lang 'ja)
;; ファイルパス
(setq howm-keyword-file "~/howm-conf/.howm-keys")
(setq howm-history-file "~/howm-conf/.howm-history")
(setq howm-menu-file "~/howm-conf/0000-00-00-000000.txt")
;; 「http://」でリターン押したら, URL を kill-ring へ
(setq action-lock-no-browser t)
;; キーバインド
(global-set-key "\C-c,," 'howm-menu)
;; 書式
(defvar howm-view-title-header "# ")
(setq howm-template-date-format
      (concat "[" datetime-format "]"))
;; 検索
(setq howm-keyword-case-fold-search t)
;; load
(autoload 'howm-menu "howm" "Hitori Otegaru Wiki Modoki" t)
;; disable auto-fill-mode
(add-hook 'howm-mode-hook '(lambda () (auto-fill-mode -1)))
  • メモのファイルは、自動生成される~/howm/yyyy/MM/ディレクトリの下に、yyyy-MM-dd-HHmmss.txt形式で作成されます。
  • ファイルや設定の同期はDropboxを使用しています。
  • 上記では省略していますが、当然markdown-modeも導入済みです。

運用

  • C-c ,,で初回読み込み
    • autoloadをrequireにして起動時読み込みでもいいかも。*7
  • C-c ,lで最近の一覧表示
  • C-c ,cで新規作成
  • 検索はC-c ,sか、一覧表示→RETで個別メモ→リンク上でRETの手順で見ています。
  • メモ間リンクを張る場合は、参照先のメモのファイルを開いた上でC-c ,cします。
  • 記述内容としては、以下のイメージ
    • 検索用タグは英数字列で
    • 1行で済む場合はタイトルのみ
    • 複数行になる場合はタイトルは別立て、タグを一番上に書いてから本文
      • タグを複数並べる場合は改行区切りで
    • タグに関しては特に必須とはしません。見返すときは全文検索なり時系列で全読みするケースが多いと思います。
  • 予定やTODO管理は今のところ利用していません。

  • 家計簿用の記録
# out bus \210 >>> money
[2015-01-30T09:32:22]
  • 技術メモ
# NTEmacsにauto-completeを導入。
[2015-01-21T17:34:47]
>>> emacs
- ver 1.4は動かなかったため、ver 20150116.1520を導入。package.elから。
- ほかの幾つかのパッケージもpackage.el経由で取得するように変更しようかと思う。近々。
  • ブックマーク
# [ASP.NET  - Microsoft .NET Framework でシンプルな Comet アプリケーションをビルドする](http://msdn.microsoft.com/ja-jp/magazine/jj891053.aspx)
[2015-01-06T14:32:54]
>>> pg
- Cometベースサーバーを調べてたけど地獄っぽい。
  • 以前のメモへの言及*8
# ×××××の案件、結局×××××としてやることは無さそう。いったん棚上げ。
[2015-01-29T18:00:32] >>> ~/howm/2015/01/2015-01-28-104630.txt

お手軽に書いて、とりあえず放り込んでおけるのがいい感じです。一覧もそれなりに便利です。

実際にはもっと長めのメモもあったりします。URLを20個くらい並べたりとか。開発環境セットアップ手順とか。

一般論

所謂メモツールの利用という話だと、ツールが変わっても共通に思うのは以下のあたりです。

  • 時系列で並べて保管すること。
  • メモ毎にタイムスタンプを付けること。
    • 最低限、作成日付がわかるようにすること。
  • ポケット1つ原則(分類しないこと)。
  • 嵩張らない媒体を選ぶこと。
  • 場所や場面を選ばず書けること。
    • 電子媒体なら、モバイル対応するか、一時的にメモ書きして転記するか。
  • 記録用と、思考展開用の一時媒体は分けること。
    • 記録用モレスキンノートと、展開用のプロジェクトペーパー、など。
  • 特定のサービスやツールに深く依存しすぎないこと。
    • ここでいえば、Dropboxのファイル共有や、Markdown形式のテキストファイルは、許容範囲と思います。
      • ダメになってもツールの乗り換えや、ファイル形式変換ができるのは重要に思います。
  • 全文検索や、メモ間の直接リンク、タグ付けなどは、所詮は付加的要求だとは思います。
    • 全文検索に関しては、在ると無いとでは大違いですが……。

その他、原則的な話に関しては、古典を読みましょう。

といったところで、今回は以上です。

*1:個人の意見・感想です。

*2:個人の印象です。

*3:大学生の頃なので、多分5年ほど前

*4:とはいっても、この頃書き連ねたことは確実に魂に刻まれてる気がしています(笑)

*5:無ければ作ればいいのでは?

*6:[Windows]と[Mac]にあるように、バージョンは24.4か24.3です。

*7:でもそうするとWarningバッファが開いて鬱陶しい問題が……

*8:一部伏字にしています