【Vim】カーソル行が画面の中央にくるようにスクロールする方法
目次
カーソル行を画面の中央にする(ノーマルモード)
いまノーマルモードにいる場合、zz
で現在カーソルのある行が画面の中央にくるようにスクロールすることができる。これにより、カーソルが画面の上端や下端にあるときに、その上下の行を確認することができる。
zz
の場合、カーソルの位置(列)をそのままにスクロールする。スクロールとともにカーソルを行の先頭に移動させたい場合は、代わりに z.
と入力すれば良い。
カーソル行を画面の中央にする(挿入モード)
いま挿入モードにいて、カーソル行が画面の中央にくるようにスクロールした後も入力を続けたい場合、<C-o>zz
と入力すれば良い。
この場合、単純に
<Esc>
で一旦ノーマルモードに戻るzz
と入力するa
などで挿入モードに戻る
とすることも考えられる。しかし、わざわざノーマルモードに戻って1コマンドだけ入力し、また挿入モードに戻るのは面倒である。このような場合には、「挿入ノーマルモード」が使える。<C-o>
で挿入ノーマルモードに入り、zz
と入力するだけで、挿入モードを抜けることなく、カーソル行が画面の中央にくるようにスクロールすることができる。
カーソル行を画面の一番上、あるいは一番下にする方法
zt
と入力することで、現在カーソルのある行が画面の一番上にくるようにスクロールすることができる。同時にカーソルを行の先頭に移動させたい場合は、代わりに z<Enter>
と入力すれば良い。
また、zb
と入力することで、現在カーソルのある行が画面の一番下にくるようにスクロールすることができる。代わりに z-
と入力することで、同時にカーソルを行の先頭に移動させることができる。
参考
- Drew Neil(著)新丈径(訳)「実践Vim」(電子書籍版)アスキー・メディアワークス(2013)p.57
ちなみに、この本は本当におすすめ。「他のエディタより多少速く編集できて便利だな~」程度に思っていた Vim の真の姿(強み)を教えてくれて、Vim が手放せなくなった。少し Vim に慣れてきたけどあまり使いこなせている気がしない、という方はぜひ読んでみて欲しい。