vim-users.jp

Hack #116: 機能を割り当てるキーを探す際のヒント

Posted at 2010/01/12
このエントリーをはてなブックマークに追加

Vim に新しくプラグインをインストールした際や、自分で便利な設定を書いた場合、それらの機能を素早く呼び出すために Key mapping を定義したいと思うでしょう。しかし、Vim では標準で多くの機能が各キーに割り当てられていて新しい機能を割り当てる場所が見つからないことがあります。本 hack ではそういった場合の手助けをします。

キーボードを眺める

キーボードを眺めて Vim における各キーの機能を思い出してください。思い出せないキーがあった場合、それはつまりあなたがそのキーの機能を使っていないということです。まずは :help でそのキーの機能を確認し、本当に必要ないと思えばそのキーには新しい便利な別の機能を割り当てられます。

プレフィックスキーを活用する

プレフィックスキーを使うことで、より多くの機能を割り当てることができます。ストローク数は 1 つ増えてしまいますが、キーボードのキーの数を考えるとこれは仕方がないでしょう。

以下にプレフィックスキーとして使えそうなキーを紹介します。

\

\ キーは標準の mapleader キーです。つまり、最初からプレフィックスキーとして使えるように空けられています。

<Space>

<Space> は非常に押し易い位置にあるにも関わらず、Normal mode ではカーソルを右に移動させるだけで、これは l と同じなので使われることは滅多にありません。これを使わない手はないでしょう。

m

m には標準でマークを付けると言う機能が割り当てられていますが、今は Visual mode もあるのでそれほど使われません。これをプレフィックスキーにしてしまうのも良いでしょう。

q

q はキーボードマクロの記録を開始するキーです。キーボードマクロは便利な機能なので潰すべきではありませんが、マクロとして記録できる場所は a から z まで 26 個もあります。そして、大抵はどこに記録したかなどは覚えていられないので、使い慣れた特定のキーを使うと思います。その場合、残りの使わないキーに対して機能を割り当てることができます。

また、再生用の @ キーも同様に使えるでしょう。

あまり使わないキーを退避させる

人によっては、たまにしか使わない、けれどたまには使うので使えないと困る、というキーがある場合があります。s f t などがその例です。 その場合、それらのキーをプレフィックス付きの場所に再マップすることでプレフィックスキーとして使えます。

nnoremap s <Nop>
nnoremap ss s
nnoremap sa func-a
nnoremap sb func-b
thinca

もどる
blog comments powered by Disqus