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