技術メモの管理
今後ちゃんと学んだことをメモに残しておこうと思い直し、メモを管理する仕組みを整理した。
保存場所
Dropbox/Documents/notes/
以下。複数のPC間で簡単に共有したいのでDropboxで管理する。
メモを書く
まず以下のような関数を用意した。
note() {
local note_path=$HOME/Dropbox/Documents/notes/$1
if [! -e $note_path]; then
touch $note_path
fi
open $note_path
}
note <ファイル名>
でメモを書き始めることができる。
メモはすべてmarkdown形式で、エディタはvimを使うことにした。vim-templateというプラグインを使うことで、notes/*.mdにマッチするファイルを以下のようなテンプレートで開くようにした。
---
title: expand('%:t:r') %>
date: strftime('%Y-%m-%d') %>
---
<%=
と%>
で囲われたコードはVim Scriptとして評価されて展開され、<+CURSOR+>
の位置をカーソルの初期位置としてファイルが開く。このような設定はvim-templateのヘルプにあるのでそちらを参照してほしい。
メモの検索
agとpecoを使う。agは高速なgrepということで、任意の文字列を含むファイルを検索する。
onote() {
echo $(ag -l $1 $HOME/Dropbox/Documents/notes/) | peco | xargs open
}
template内で日付を必ず入れるようにしているので、日付で検索することもできるようになった。