僕は日々 memolist.vim という Vim plugin を使い、仕事で思いついた疑問点や会話の一部をメモ取りする様にしています。相手と会話している最中に「あ、ここ大事だ」と思ったら vim を起動して :MemoNew
してメモを編集していました。もちろん Vim ですから起動は抜群に速くてとてもご機嫌良く動くのですが、どうしてもこれをシェルから扱いたいという要求に負けてささっと作ってみました。
GitHub - mattn/memo: Memo Life For You
README.md memo Memo Life For You Usage NAME: memo - Memo Life For You USAGE: memo [global options] c...
https://github.com/mattn/memo
とても単純なコマンドなのです。やりたい事は単純です。
- 即座にメモ取りを開始したい
- Markdown で書きたい
- 簡単に grep したい
- シェルと融合したい
- できれば jekyll っぽく markdown をサーブしたい
memo new
を実行するとタイトルを聞かれるます。このタイトルがファイル名に使われます。形式は Jekyll の様な日付付きのファイル名です。memo list
を実行すると保持しているエントリ一覧を表示します。端末で表示する場合には先頭の行(おそらくタイトル)も表示されます。シェル等でパイプから使う場合にはファイル名のみ渡されます。このファイル名は memo edit xxx
の様に編集コマンドに引き渡せます。引数を省略して memo edit
とすると流行りのコマンドラインセレクタが起動して編集するファイル名を簡単に絞り込めます。
なお、memo list --fullpath
にはフルパスにも出来ますのでシェルスクリプトから何かしたい場合にも使えます。さらに memo grep keyword
で grep する事もできます。あのメモどこだっけ、という場合に使います。おまけ機能ですが memo serve
でウェブサーバが起動する様になっています。ブラウザが勝手に起動して
この様なエントリ一覧が表示されます。リンクをクリックすると Markdown が HTML として表示されます。
とっさに誰かにメモの内容を見てもらいたい場合には有効かもしれません。設定のデフォルト値を変更したい場合は memo config
を実行すると TOML ファイルを指定してエディタ(デフォルトはもちろん Vim)が起動するのでお好きなコマンドセレクタや grep コマンド、テキストエディタに変更して下さい。もちろんワンバイナリで UNIX、Windows どちらでも動く様にしてあります。