map
英辞郎の各エントリは、黒い四角“■”で始まっている。たとえばこのように:
■aphotic {形}:暗闇の
だから、Vimを使って英辞郎を引くときには、次のような探索コマンドを入力すればよい。たとえば:
/^■conurbation
なお、/は探索コマンドであり、^は“行頭”を意味する正規表現だ。探索文字列は、すべて正規表現で入力しなければならない。わざわざインデクスファイルや検索プログラムを作らなくても、最近のパソコンはめちゃ速いから、こんな素朴な方法でも十分に使い物になる。
しかし、辞書をを引くたびに、毎回々々、/^■
を入力するのは、ちょっと面倒だ。スペースバーでもちょんと押せば、この3つの文字がコマンド入力欄に入力されるようにしたい。そのためには、Vimの「マップ機能」を使う。マップ機能は、あるキー入力を別のキー入力へとマップする機能だ。ここでは、「スペースバーを押す」という入力を、コマンド入力欄における「/^■」という3文字の入力へマップしたいのだ。そのためには、次のようにコマンドする:
:nmap
/^■ あるいは、$HOME/.vimrcファイルの中に
nmap
/^■ を書いておいてもよい。
“コマンドモード時”のマップはnmapコマンドを使うが、“コマンド入力欄に入力している時”におけるマップはcmapコマンドを使う。たとえば:
:cmap
\s 上は、スペースを打鍵すると\sの2文字(空白文字を意味する正規表現)が入力される。ただし、正規表現の一環としてスペース文字だけを入力したいのなら、こんなマッピングは不要で、単純にスペースバーを押せばよい:
Vim Notes より