anzu.vim にバッファの先頭から n 番目の位置に移動する機能を追加した

この記事は Vim Advent Calendar 2012 297日目の記事になります。
お陰様でまだ続けることができそうです。


さて、anzu.vim で上記のような要望があったので実装してみました。
本来、10n を行うと n を10回繰り返すのですが、上記の要望では『バッファの先頭から10番目にマッチした位置』へと移動します。

[使い方]

" 最後に検索したワードの先頭から数えて [count] の位置へ移動する
" 10<Leader>j であれば先頭から10番目のワードの位置へ移動する
nmap <Leader>j <Plug>(anzu-jump)

" ステータス情報をコマンドラインに出力する場合はこちら
" nmap <Leader>j <Plug>(anzu-jump)<Plug>(anzu-echo-search-status)


上記のようなマッピングをした場合、10j で10番目にマッチした位置に移動を行います。
また、

" 最後に検索したワードの先頭から数えて [count] 位置へ移動する
" [count] がなければ <Plug>(anzu-n) を使用する
nmap n <Plug>(anzu-jump-n)

" 位置をコマンドラインに出力したい場合
" nmap n <Plug>(anzu-jump-n)<Plug>(anzu-echo-search-status)


のような設定を行えば 10n で10番目にマッチした位置に、n だけの時([count] がない時)は n と同じ挙動になります。
この場合は本来の n とは異なる挙動になるので好みに合わせてマッピングして下さい。