🐷
Vimのw連打が疲れるので横移動のツールを作りました。
だいぶ前に作成したVimのPluginの話ですが、アウトプットの練習と宣伝も兼ねて記事にしてみました。
ツール作成のきっかけ
Vimを使い始めたころ、横移動をおこなうため、w
やらW
やb
,B
、などを連打するのが、結構疲れるなと思ったため、ツールを自作して解決しようとおもいました。
ツールの目標
検索機能などを使えば事足りる、みたいなのも面白くありません。なので、目標は最短2キーで行きたい地点にカーソルをあてられることにしました。
参考にしたツールと利用した機能
ブラウザにVimiumというツールがあり、押したキーによってブラウザが操作できる点が参考にできると思いました。そこで、Vimのポップアップを利用することで、同じようなことができると思い、これを採用しました。
作成したツールの機能
コマンドを実行すると、現在のラインの直下にポップアップを表示して、移動できる単語の場所に、キーを表示できるようにしました。キーを押すと、その単語の位置に移動します。
小文字入力だと単語の先頭、大文字入力(+shift)だと、単語の末尾に移動するようにしました。
工夫したところ、苦労したところ
VimのWindowを分割したり、Gitの変更などの表示でカラムの位置が変化すると、ポップアップの位置がずれることに苦労したのですが、VimにおけるWindowの持つ情報をしらべて、駆使することでなんとか分割画面に対応できました。
更に、ツールの機能に集中するためにポップアップキーメニューのAPIを作成して、メインのプラグインのコードを簡略化しました。
おすすめの使い方
以下のようなコマンドを、vimrcに追加して、コマンドをキーにバインドする使い方をおすすめします。
nmap <silent> W :Quickw<CR>
Discussion