Ankiという暗記のためのアプリがあります。
問題の出題間隔を変えて出題することにより効率よく物事を覚えられるというやつで
自作の単語帳や穴埋め問題を作ることができます。
穴埋め問題を定義するときには以下のような書き方で穴埋め部分を指定します。
任意の平文から暗号文を取得できる状況において、 平文と暗号文を大量に生成した上で、それをもとに暗号鍵を推測する攻撃手法を何というか? ↓ {{c1::選択平文攻撃}}
上記の場合、「{{c1::選択平文攻撃}}」の部分が穴埋め部分となります。
Vimを使って穴埋め問題を作成する際に
{{c1::〜}}という部分を毎回手作業で書くのは面倒です。
この作業をある程度省力化するために
「{{cN::〜}}」という記述を手軽に作成するためのoperator用のプラグインを作成しました。
以下にファイルをおいていますので、
同じようなことをされている方がもしいらっしゃるようでしたらご利用いただければと思います。
https://github.com/ampmmn/vim-operator-ankicloze
(要 operator-user)
使い方
1. 上記からファイル一式をダウンロードする。
2. 他のプラグインと同様の方法によりインストールする
3. .vimrcあたりに、キーマッピングを登録する(下記参照)
map ,1 <Plug>(operator-ankicloze1)
上記の例だと、「,1」キーに対して、 {{c1::〜}} という書き込みを行うためのoperatorを割り当てます。
operator-ankicloze1から、operator-ankicloze5まで定義しています。
それぞれ、c1〜c5に対応しています。
オペレータ名 | 機能 |
テキストオブジェクトで指定した範囲のテキストを {{c1::〜}} という形式で囲む | |
テキストオブジェクトで指定した範囲のテキストを {{c2::〜}} という形式で囲む | |
テキストオブジェクトで指定した範囲のテキストを {{c3::〜}} という形式で囲む | |
テキストオブジェクトで指定した範囲のテキストを {{c4::〜}} という形式で囲む | |
テキストオブジェクトで指定した範囲のテキストを {{c5::〜}} という形式で囲む |