はじめに
Vim初心者です><
私は主に「エディタでのバインディング」としてVimを使用している初心者です(VimプラグインやVimの深淵は除いていません・・・)
IdeaVim、VSCodeのVimなどの拡張を使っている人間です。
行いたいこと
上記のように競技プログラミングをしていると、zzコマンドで今のカーソル位置を基準に中心に持ってきて、かつそれを「10」行ぐらい上にスライドさせたいな
(真ん中だと、ちょっと書きづらくmain関数が上側のほうが広くかけるので嬉しい)
ということがあります。
このためには
zz + 10<C+e>をする必要があり、非常に面倒です。
なにか、一回のキーのみで操作したいお気持ちです。
対応策
.vimrcでキーマッピングを行うことにしました。
こちらのページに詳しく書かれてあり、参考にさせていただきました!
ノーマルモード、例えばjキーをhの操作として使いたいときは
nnoremap j h
とすればよいです。
jボタンを押すと、左にカーソルが動きます。(こういうのマッピングをする必要はないですが・・・)
このとき、させたい操作をそのまま右側に書けばそれらをすべて実行してくれるため
nnoremap zu zz13<C-e>
としました。
これで
zuを押すと、zzされたあとに13<C-e>が実行されて上に13行ずれるようになりました><
ひとまずはこれで対応していこうと思います。
Vimに詳しい方で、もっとこうやるとスマートだよ!というのがありましたら、アドバイスいただけると嬉しいです><!
