【Vim】カーソル行が画面の中央にくるようにスクロールする方法

目次

カーソル行を画面の中央にする(ノーマルモード)

いまノーマルモードにいる場合、zz で現在カーソルのある行が画面の中央にくるようにスクロールすることができる。これにより、カーソルが画面の上端や下端にあるときに、その上下の行を確認することができる。

zz の場合、カーソルの位置(列)をそのままにスクロールする。スクロールとともにカーソルを行の先頭に移動させたい場合は、代わりに z. と入力すれば良い。

カーソル行を画面の中央にする(挿入モード)

いま挿入モードにいて、カーソル行が画面の中央にくるようにスクロールした後も入力を続けたい場合、<C-o>zz と入力すれば良い。

この場合、単純に

  1. <Esc> で一旦ノーマルモードに戻る
  2. zz と入力する
  3. a などで挿入モードに戻る

とすることも考えられる。しかし、わざわざノーマルモードに戻って1コマンドだけ入力し、また挿入モードに戻るのは面倒である。このような場合には、「挿入ノーマルモード」が使える。<C-o> で挿入ノーマルモードに入り、zz と入力するだけで、挿入モードを抜けることなく、カーソル行が画面の中央にくるようにスクロールすることができる。

カーソル行を画面の一番上、あるいは一番下にする方法

zt と入力することで、現在カーソルのある行が画面の一番上にくるようにスクロールすることができる。同時にカーソルを行の先頭に移動させたい場合は、代わりに z<Enter> と入力すれば良い。

また、zb と入力することで、現在カーソルのある行が画面の一番下にくるようにスクロールすることができる。代わりに z- と入力することで、同時にカーソルを行の先頭に移動させることができる。

参考

  • Drew Neil(著)新丈径(訳)「実践Vim」(電子書籍版)アスキー・メディアワークス(2013)p.57

ちなみに、この本は本当におすすめ。「他のエディタより多少速く編集できて便利だな~」程度に思っていた Vim の真の姿(強み)を教えてくれて、Vim が手放せなくなった。少し Vim に慣れてきたけどあまり使いこなせている気がしない、という方はぜひ読んでみて欲しい。

fiore
fiore

自称C++er。

関連項目