calendar.vimの作者が教える! calendar.vimをGoogle Calendarと連携させてみる - 初級編

この記事では, calendar.vimGoogle Calendarと連携させて使う方法を紹介したいと思います.
前回までの記事を挙げておきます.

イベント, カレンダーの基本操作

calendar.vimでは, 設定が何もなければローカルのカレンダーでイベントを管理することができます.
カレンダーを開いてiを押してみて下さい.
「イベント: 」というプロンプトが開いたと思います.
そこに, 例えば「ミーティング」と入力します.
次に, 「新しいカレンダーの名前を入力して下さい: 」と聞かれますので, 「会社」と入力して下さい.
そうすると, カレンダー上に「ミーティング」の文字が出現します.


既に登録したイベントを編集する場合は, イベントウィンドウを用います.
Eを押してイベントウィンドウを開いて下さい.
イベントを選択し, iやA, Cなどを押すと, 選択中のイベントを編集することができます.
また, イベントウィンドウではoキーで新しくイベントを作ることもできます.
更に, ddあるいはDでイベントを削除することもできます.

Google Calendarと連携

calendar.vimGoogle Calendarと連携させて使うことができます.
次の設定をvimrcに書いて下さい.

let g:calendar_google_calendar = 1

Vimを再起動し, カレンダーを開くと認証がスタートします.



Google Calendarと連携させた時も, イベントを新しく作ったり, 既にあるイベントを編集したり削除したりすることができます.
イベントを編集するのは, イベントウィンドウ(Eを押して出します)から行います.
iやAで編集し, ddやDで削除できます.


Google Calendarの連携を解除

誤ったアカウントと連携してしまった時などに, 連携を解除したい時は, 次のコマンドでキャッシュファイルを削除して下さい.

rm -rf ~/.cache/calendar.vim/google/

ローカルのカレンダーを削除するときは, 次のコマンドを用います.

rm -rf ~/.cache/calendar.vim/local/

もし, g:calendar_cache_directory を設定している場合は, そのディレクトリーの中を削除して下さい.

今後

Google Calendarと連携と連携させているときに, イベントを新しく作ってから画面に反映されるのに時間がかかるのは, 今のところ仕様です.
今は実装が複雑になるのが嫌なので, イベントが作られたときは次のフローによってイベントが挿入されます.
1. GoogleAPIを叩く. 画面はそのまま.
2. Googleからのレスポンスを見る. 最初の失敗ならば, アクセストークンをリフレッシュして1へ. 二度目以降の失敗ならばエラーを出力.
3. 該当するカレンダーを一か月分ダウンロードする.
4. 成功したら, 画面を再描画する.
私の手元では, 以上の作業が完了するまでに, およそ五秒くらいかかってしまいます.
何とかしたいのですが, カレンダーの同期を遅らせるのは様々な技術的な問題があって, 手を付けられていない状況です.