1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Vimで複数のキー操作を1つのキーで行いたいとき

Last updated at Posted at 2020-04-25

はじめに

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に詳しい方で、もっとこうやるとスマートだよ!というのがありましたら、アドバイスいただけると嬉しいです><!

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?