Vimの機能のひとつに、Leaderキーというとても便利なものがあります。
本当に便利なのですが、知らないと知らないままでも過ぎてしまうような機能でもあります。
しかし、知らないまま過ぎてしまってはとてももったいない機能です。
今回はVimのLeaderキーの使い方について紹介していきます。
Leaderキーとは?
Leaderキーは、自分が好きなキーをひとつ設定して、そのキーの後に他のキーを入力することでさまざまな機能が使えるように、あらかじめ定義できるものです。
例えば、Vimですべての文字を選択するとき、g g V G というように入力します。
これは他のテキストエディタに比べて、ちょっと一手間必要だな、というふうに思ってしまいます。
しかし、Leaderキーを<Leader> aというふうに設定しておけば、たった2回の入力で全選択が可能になります。
Leaderキーを決めよう!
まず、Leaderキーを使うには、Leaderキーをどのキーにするかを決める必要があります。
デフォルトでは、\に割り当てられています。しかし、このキーはとても押しづらいので、別のキーに割り当てるのをおすすめします。
私の知る限り、spaceに割り当てている方が多いようです。
たしかにこのキーは最も押しやすいキーだと思いますので、私もspaceを割り当てて使っています。
では、実際にLeaderキーにキーを割り当ててみましょう。
Leaderキーにspaceを割り当てるには、.vimrcに、以下を追加します。
let mapleader = "\<Space>"
Leaderキーを使って、マッピングしてみよう!
では、Leaderキーを使って、便利に使えるようにマッピングをしてみましょう。
たとえば、以下のようなマッピングが考えられます。
" Leaderキーをspaceキーに設定
let mapleader = "\<Space>"
" space aで全選択
nnoremap <Leader>a ggVG
" space qで検索ハイライトの解除
nnoremap <Leader>q :nohlsearch<CR>
" space wで保存(英字キーボードの場合、:の入力がshiftを押す必要があって大変なので)
nnoremap <Leader>w :w<CR>
" space eでファイラを開く
nnoremap <Leader>e :Lex<CR>
" space 4で行末へ移動(shiftを押しながらの$は、手が遠いので)
nnoremap <Leader>4 $
" space 6で行頭へ移動(英字キーボードの場合、shiftを押しながらの^は、手が遠いので)
nnoremap <Leader>6 ^
" カーソルの下の単語を取得して、ファイル全体のその単語を別の文字に置換
nnoremap <Leader>f :%s/<C-r><C-w>//g<LEFT><LEFT>
これだけでも便利になりますが、もっといろんなものが考えられます。
まとめ
今回は、今回はVimのLeaderキーの使い方を紹介しました。
Leaderキーの機能は、使わなくてもVimでの操作に困ることはないのですが、知っておくと本当に便利になります。
とくに、何度も使うのに長いコマンドは、Leaderキーを使ってひとつにまとめてしまうといいですね。
ぜひお試しください。