2012年6月18日月曜日

Vimでスケジュール帳 (viske.vim)

概要

Vimで予定管理を行うためのプラグインです。タイムラインで予定を管理できます。Rubyが動く環境ならば、Googleカレンダーと同期もできます。calendar.vimの日記機能では物足りなかったので、初めてのVimスクリプトとして作ってみました。


使い方

準備

ファイルを保存するディレクトリを作成します。デフォルトでは"$HOME/Schedule/"です。保存先ディレクトリは設定(g:ViskeDir)で変更できます。

起動 / 終了

  • コマンドモードで"Viske"と打てば起動します。
  • "q"で終了します(予定は自動保存)。

予定を登録する

  1. 予定を登録したい時刻を、タイムライン上でビジュアルモードにより選択します。
  2. Returnを押します。
  3. カーソルがサブ画面に移動してインサートモードになります。
  4. 予定を入力してます。
  5. "Ctrl+R"を押せば登録完了です。

サブ画面では、1行目の">"以降がサマリーとなり、メイン画面に表示されます。2行目以降に詳細な内容を記すことも可能です。

サブ画面で予定入力中、30分単位より細かい時刻を設定したい場合は、時刻の文字列を直接編集することで可能です。また、Ctrl+n, Ctrl+pで時刻を15分単位で変更できます。変更する対象(開始、終了)の切り替えはです。

予定の種類

サブ画面での予定入力時に、予定の先頭に記号を付加することで、予定の種類を変更できます。また、予定登録後にメイン画面から予定の種類を変更することもできます。また、Task1〜Task5に割り当てる種別は設定(g:ViskeTaskTypeLabel)で変更可能です。カッコ内はデフォルトの種別になります。

記号種別
*終日予定
*+TODO
*!重要TODO
*+完了済みTODO
なしTask1
#Task2 (出張)
!Task3 (重要)
%Task4 (会議)
+Task5 (私用)

キーマップ

メイン画面(上部)
Key内容操作可能な場所
q保存して終了全て
Q保存せずに終了全て
j、kカーソルを上下の日付に移動全て
J、Kカーソルを上下の日付、タスクに移動全て
h、lカーソル位置を30分進める、遅らせる全て
H、Lカーソル位置を1時間進める、遅らせる全て
ghカーソル位置を今日の日付に移動全て
<、>タスクを30分早める、遅らせるタスク上
(、)タスク開始時刻を30分早める、遅らせるタスク上
{、}タスク終了時刻を30分早める、遅らせるタスク上
yyタスクをヤンクタスク上
pタスクをペーストタイムバー上
ddタスクを削除タスク上
ccタスクを変更するタスク上
*タスクの種類をTask1に変更タスク上
#タスクの種類をTask2に変更タスク上
!タスクの種類をTask3に変更タスク上
+タスクの種類をTask4に変更タスク上
%タスクの種類をTask5に変更タスク上
+終日予定をTODOに変更終日予定上
*TODOを終日予定に変更TODO上
-TODOを完了済みに変更TODO上
!TODOを重要TODOに変更TODO上
サブ画面(左下部)
Key内容モード
Ctrl+N時刻を変更(15分進める)インサート
Ctrl+P時刻を変更(15分遅らせる)インサート
Ctrl+E変更する時刻のターゲットを変える(開始時刻/終了時刻)インサート
Ctrl+R予定を登録する全て
Ctrl+Return予定を登録する全て
Return予定を登録するノーマル
Ctrl+W登録をキャンセルする全て
カレンダー画面(右下部)
Returnカーソル下の日付をメイン画面で開く

設定

設定項目内容設定例
ViskeSubWinHeightサブウィンドウとカレンダー画面の高さを設定7
ViskeCalWinWidthカレンダー画面の横幅を設定25
ViskeDirスケジュールファイルの保存先フォルダ名/var/Schedule/
ViskecutDownMsgタスク名の切詰め設定0(切詰めなし),1(切詰め)
ViskeStartTime1日の始まりの時刻8
ViskeEndTime1日の終わりの時刻20
ViskeWidthFuzzy画面からはみ出ても良い許容値4
ViskeLang言語設定jp, us, cn
ViskeTaskTypeLabelタスクの種類の設定下記参照
ViskeDayLabel曜日の表示設定下記参照

タスクの種類や曜日の表示を変える場合は、下記のように設定します。

 let g:ViskeTaskTypeLabel=['\ ', 'ゼミ', 'サークル', 'バイト', '自宅', 'TODO']
 let g:ViskeDayLabel = ['日曜', '月曜', '火曜', '水曜', '木曜', '金曜', '土曜']

カラースキーマ

256色端末向けのカラースキーマを配布しています。明るい背景色のviske.bright256と暗い背景色のviske.dark256の2つです。.vimrcにて通常のカラースキーマを読み込んだ後に読み込まれるように指定してください。

colorscheme desert256 "通常のカラースキーマ
colorscheme viske.dark256 "Viske用

自分で色を変更する場合は下記の名称を参考にしてください。


スクリーンショット

gVim default color

16 default color

colorscheme: bright256

colorscheme: dark256

ダウンロード / インストール

Vundleで管理している場合

下記の設定を追加して、":BundleInstall"してください。

Bundle 'vimyum/viske'

手動管理の場合

下記のgithubからダウンロードして、適切に配置してください。

https://github.com/vimyum/viske

0 件のコメント:

コメントを投稿