トップ > 初級編 > 画面のスクロール >
文字カーソルを基準としたスクロール

  

文字カーソルの位置を基準に画面をスクロールする

この記事では、文字カーソルの位置を基準としてスクロールする方法を説明します。

文字カーソルの位置を基準としたスクロールとは、

  1. 文字カーソルの行を最上行にする
  2. 文字カーソルの行を最下行にする

というようなスクロール操作のことです。 『文字カーソルを目的の場所まで移動したが、画面の端に近いため周囲のテキストが見渡せない』というような状況で使います。

なお、この記事でも以下のテキストを例に操作を説明します

  1. 1行目です。
  2. 2行目です。
  3. 3行目です。
  4. 4行目です。
  5. 5行目です。
  6. 6行目です。
  7. 7行目です。
  8. 8行目です。
  9. 9行目です。
  10. 10行目です。
  11. 11行目です。
  12. 12行目です。
  13. 13行目です。
  14. 14行目です。
  15. 15行目です。
  16. 16行目です。
  17. 17行目です。
  18. 18行目です。
  19. 19行目です。
  20. 20行目です。
  21. 21行目です。
  22. 22行目です。
  23. 23行目です。
  24. 24行目です。
  25. 25行目です。
  26. 26行目です。
  27. 27行目です。
  28. 28行目です。
  29. 29行目です。
  30. 30行目です。
  31. 31行目です。
  32. 32行目です。
  33. 33行目です。
  34. 34行目です。
  35. 35行目です。
  36. 36行目です。
  37. 37行目です。
  38. 38行目です。
  39. 39行目です。
  40. 40行目です。
  41. 41行目です。
  42. 42行目です。
  43. 43行目です。
  44. 44行目です。
  45. 45行目です。
  46. 46行目です。
  47. 47行目です。
  48. 48行目です。
  49. 49行目です。
  50. 50行目です。
  51. 51行目です。
  52. 52行目です。
  53. 53行目です。
  54. 54行目です。
  55. 55行目です。
  56. 56行目です。
  57. 57行目です。
  58. 58行目です。
  59. 59行目です。
  60. 60行目です。
  61. 61行目です。
  62. 62行目です。
  63. 63行目です。
  64. 64行目です。
  65. 65行目です。
  66. 66行目です。
  67. 67行目です。
  68. 68行目です。
  69. 69行目です。
  70. 70行目です。
  71. 71行目です。
  72. 72行目です。
  73. 73行目です。
  74. 74行目です。
  75. 75行目です。
  76. 76行目です。
  77. 77行目です。
  78. 78行目です。
  79. 79行目です。
  80. 80行目です。
  81. 81行目です。
  82. 82行目です。
  83. 83行目です。
  84. 84行目です。
  85. 85行目です。
  86. 86行目です。
  87. 87行目です。
  88. 88行目です。
  89. 89行目です。
  90. 90行目です。
  91. 91行目です。
  92. 92行目です。
  93. 93行目です。
  94. 94行目です。
  95. 95行目です。
  96. 96行目です。
  97. 97行目です。
  98. 98行目です。
  99. 99行目です。
  100. 100行目です。
 

文字カーソル位置を基準としたスクロール

まずは、文字カーソルの行を最上行にする方法を説明します。 文字カーソルの行を最上行にするには z<Enter> コマンドを使います。

 

では実際にスクロールしてみましょう。

文字カーソルは50行目の4文字目にある
文字カーソルは50行目の4文字目にある

上図のように文字カーソルは50行目の4文字目にあるものとして解説します。

では、文字カーソルの行が最上行になるようにスクロールしましょう。 キーボードから z<Enter> を入力してください。

z<Enter>
50行目が最上行になるようにスクロール
50行目が最上行になるようにスクロール

上図のように50行目が最上行になるようにスクロールします。 また、文字カーソルは50行目のまま移動していません

ただし、文字カーソルは、行内の空白以外の最初の文字へ移動しています。 z<Enter> コマンドを使ってスクロールすると、このように文字カーソルが行内の空白以外の最初の文字へ移動します

続いては、文字カーソルの行を中間行にするスクロールです。 文字カーソルの行を中間行にするには z.(ピリオド) コマンドを使います。

 

では、文字カーソルの行が中間行になるようにスクロールします。 キーボードから z. を入力してください。

z.
50行目が中間行になるようにスクロール
50行目が中間行になるようにスクロール

上図のように50行目が中間行になるようにスクロールします。 文字カーソルは引き続き50行目にあります

  
z.(ピリオド) コマンドでも文字カーソルは行内の空白以外の最初の文字へ移動します。

最後に、文字カーソルの行を最下行にするスクロールです。 文字カーソルの行を最下行にするには z-(マイナス) コマンドを使います。

 

では、文字カーソルの行が最下行になるようにスクロールします。 キーボードから z- を入力してください。

z-
50行目が最下行になるようにスクロール
50行目が最下行になるようにスクロール

上図のように50行目が最下行になるようにスクロールします。 文字カーソルは引き続き50行目のままです

  
z-(マイナス) コマンドでも文字カーソルは行内の空白以外の最初の文字へ移動します。

文字カーソルを移動しないスクロール

この記事で紹介した z<Enter> コマンド、z.(ピリオド) コマンド、z-(マイナス) コマンドは、画面がスクロールするだけでなく文字カーソルまで移動してしまいます。 説明したように、文字カーソルが行内の空白以外の最初の文字へ移動するのです。

オリジナルのviエディタでは使えませんが、Vimでは文字カーソルを移動させないスクロールも可能です。

文字カーソルを移動させずに文字カーソルの行を最上行にするには zt コマンドを使います。

 
  
zt コマンドは "Top" から連想して覚えましょう。

文字カーソルを移動させずに文字カーソルの行を中間行にするには zz コマンドを使います。

 

文字カーソルを移動させずに文字カーソルの行を最下行にするには zb コマンドを使います。

 
  
zb コマンドは "Bottom" から連想して覚えましょう。
  
  

まとめ

z<Enter> コマンドで、文字カーソルの行が最上行となるようにスクロールすることができます。 また、z.(ピリオド) コマンドでは中間行となるように、z-(マイナス) コマンドでは最下行となるようにスクロールすることができます。 ただし、文字カーソルが行内の空白以外の最初の文字へ移動します。

文字カーソルを移動させたくない場合は、zt コマンドで最上行となるように、zz コマンドで中間行となるように、zb コマンドで最下行となるようにスクロールすることができます。

コマンド 説明
z<Enter> 文字カーソルの行が最上行となるようスクロールする
(文字カーソルは行内の空白以外の最初の文字へ移動する)
z.
(ピリオド)
文字カーソルの行が中間行となるようスクロールする
(文字カーソルは行内の空白以外の最初の文字へ移動する)
z-
(マイナス)
文字カーソルの行が最下行となるようスクロールする
(文字カーソルは行内の空白以外の最初の文字へ移動する)
zt 文字カーソルの行が最上行となるようスクロールする
zz 文字カーソルの行が中間行となるようスクロールする
zb 文字カーソルの行が最下行となるようスクロールする
メニュー