map

英辞郎の各エントリは、黒い四角“■”で始まっている。たとえばこのように:

■aphotic {形}:暗闇の

だから、Vimを使って英辞郎を引くときには、次のような探索コマンドを入力すればよい。たとえば:

/^■conurbation

なお、/は探索コマンドであり、^は“行頭”を意味する正規表現だ。探索文字列は、すべて正規表現で入力しなければならない。わざわざインデクスファイルや検索プログラムを作らなくても、最近のパソコンはめちゃ速いから、こんな素朴な方法でも十分に使い物になる。
しかし、辞書をを引くたびに、毎回々々、

/^■

を入力するのは、ちょっと面倒だ。スペースバーでもちょんと押せば、この3つの文字がコマンド入力欄に入力されるようにしたい。そのためには、Vimの「マップ機能」を使う。マップ機能は、あるキー入力を別のキー入力へとマップする機能だ。ここでは、「スペースバーを押す」という入力を、コマンド入力欄における「/^■」という3文字の入力へマップしたいのだ。そのためには、次のようにコマンドする:

:nmap /^■

あるいは、$HOME/.vimrcファイルの中に

nmap /^■

を書いておいてもよい。

“コマンドモード時”のマップはnmapコマンドを使うが、“コマンド入力欄に入力している時”におけるマップはcmapコマンドを使う。たとえば:

:cmap \s

上は、スペースを打鍵すると\sの2文字(空白文字を意味する正規表現)が入力される。ただし、正規表現の一環としてスペース文字だけを入力したいのなら、こんなマッピングは不要で、単純にスペースバーを押せばよい:

Vim Notes より