次のような todo ファイル (todo.txt) があるとします。
- Foo プロジェクトについて Tom に電話する
- Bar プロジェクトの概要を完成させ、Thomas に送信します
- スーザンに私とトムに Foo プロジェクトの予報を送ってもらいます
これらのタスクを記述し、Vim で各行に対応するカテゴリ (個人の場合は @、プロジェクトの場合) を追加できるようにしたいと考えています。
Tom (または Thomas) は @Tom を生成し、Susan は @Susan を生成し、Foo は &Foo と Bar &Bar を生成する必要があります。
したがって、結果は次のようになります。
- Foo プロジェクトについて Tom に電話する @Tom &Foo
- Bar プロジェクトの概要を完成させ、Thomas @Tom &Bar に送信します。
- スーザンに私とトムに Foo プロジェクトの予報を送ってもらいます @Susan @Tom & Foo
Dictionary を作成しました:
let dictodo = {'Tom': "@Tom", 'Thomas': "@Tom", 'Susan': "@Susan", 'Foo': "&Foo", 'Bar': "&Bar",}
新しいタスクを作成し、この特定のファイルで挿入モードを終了するたびに、自動コマンドで関数を起動するにはどうすればよいですか (:autocmd InsertLeave todo.txt :call Filltodo() ?)
1)行のさまざまな単語でリストを作成します:私は思います
let words = split(getline('.'), '\W\+')
2) このリストで dictodo 辞書をブラウズします
3) 辞書で対応する単語 (2 の結果) を行末に追加しますか? 私は考えます
call setline(line('.'), getline('.') . ' ' . result)
1) と 3) の解決策を間違えていない場合、2) が欠落している部分です (keyvar を試しましたが失敗しました)。