この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
序論
サーバ作業をしたり、リモートから接続したりすることを考えると、メモは、CUIで開ける形式で残しておくとイザというときに役に立つ。
私が愛用しているのは、howm(Hitori Otegaru Wiki Modoki)というパーソナルで使うWikiのようなメモ環境。
howmについて
howmには、以下の特徴がある。
- 特徴1:メモの作成時に、今日の日付及び現在の時間がファイル名に指定される。
- 特徴2:所定のディレクトリ配下を再帰的に全文検索することができる。
howmは、元々、Emacsのpluginとして公開されていたが、vimでもpluginを作成してくれた方がいる。
私も最初は、EmacsやMeadowでhowmを使用していたが、段々vimで全てを完結するようになり、howmもvimのpluginのものに置きかえるようになった。
使用しているpluginは、QFixHowmである。
QFixとは、vimの検索機能のquickfixのことだと思われる。
設定などは、上記サイトを確認して頂ければよいが、私は、カスタマイズしてちょっとだけ異なる使い方をしている。
カスタマイズ
それは、所定のディレクトリを用途に応じて切り替えて使っている点である。
これは、以下の用途でディレクトリを分けたいときに便利である。
- 所謂メモのディレクトリ
- 日報用のディレクトリ
日報には、比較的同じような内容の記録が残ることが多い。
例えば、複数日にわたるタスクや、定例作業などである。
このため、全文検索をするときに、日報が検索対象になってしまうと本当に欲しいメモに辿り着けないことがしばしば出て来て困った経験から、通常は日報を検索対象にしないようにすることにした。
以下にQFixHowmにおけるディレクトリ切り替えの設定を記す。
- 通常のメモに切り替える場合は、Prefixキーの後に「,1」を押下する。
- 日報用メモに切り替える場合は、Prefixキーの後に「,2」を押下する。
なお、最後に「QFixHowmEnvMain()」をコールすることで、vim起動時に通常のメモが選択されるようにしている。
exe "nnoremap <silent> " . QFixHowm_Key . ",1 :call QFixHowmEnvMain()<cr>"
exe "nnoremap <silent> " . QFixHowm_Key . ",2 :call QFixHowmEnvDailyReport()<cr>"
function! QFixHowmEnvMain()
let g:howm_dir = '~/memo'
let g:howm_filename = '%Y/%m/%Y-%m-%d-%H%M%S.howm'
" 設定関数呼び出し
silent! call QFixHowmSetup()
echo g:howm_dir
endfunction
function! QFixHowmEnvDailyReport()
let g:howm_dir = '~/daily_report'
let g:howm_filename = '%Y/%m/%Y-%m-%d_daily_report.howm'
" 設定関数呼び出し
silent! call QFixHowmSetup()
echo g:howm_dir
endfunction
silent! call QFixHowmEnvMain()