Nvim :help
ページは、このスクリプトによって ソースから tree-sitter-vimdoc パーサーを使用して生成されています。
スクロール操作
これらのコマンドはウィンドウの内容を移動します。カーソル位置がウィンドウ外に移動した場合、カーソルはウィンドウ上に戻されます(
'scrolloff' オプションで設定された画面行数分、カーソルの周囲に表示されます)。1ページはウィンドウの行数から2を引いた数です。これらのコマンドのニーモニックは少し分かりにくいかもしれません。コマンドは、バッファ内でウィンドウ(バッファの見える部分)を上下に移動することを指していることに注意してください。ウィンドウがバッファ内で上に移動すると、ウィンドウ内のテキストは画面上で下に移動します。
はじめにについては、ユーザーマニュアルの
03.7 セクションを参照してください。
以下のコマンドは、編集ウィンドウ(バッファの見える部分)を下方向に移動します(つまり、テキストバッファの下の方の行が表示されるようになります)。
CTRL-E CTRL-E ウィンドウをバッファ内で[回数]行下にスクロールします。テキストは画面上で上に移動します。ニーモニック: Extra lines(追加行)。
CTRL-D CTRL-D ウィンドウをバッファ内で下方向にスクロールします。スクロールする行数は
'scroll' オプション(デフォルト:画面の半分)で指定されます。[回数]が指定された場合、最初に
'scroll' オプションを[回数]に設定します。カーソルはファイル内で同じ行数だけ下に移動します(可能な場合。行が折り返された場合やファイルの最後に達した場合には、違いが生じる可能性があります)。カーソルがバッファの最後の行にある場合は何も起こらず、ビープ音が鳴ります。
'startofline' オプションも参照してください。
z+ z+ [回数]なし: ウィンドウのすぐ下の行をウィンドウの上部に表示するように再描画します。カーソルをその行の最初の非空白文字に置きます。[回数]あり: "z<CR>"と同じです。
以下のコマンドは、編集ウィンドウ(バッファの見える部分)を上方向に移動します(つまり、テキストバッファの上の方の行が表示されるようになります)。
CTRL-Y CTRL-Y ウィンドウをバッファ内で[回数]行上にスクロールします。テキストは画面上で下に移動します。
注:MS-Windowsキーバインドを使用する場合、
CTRL-Y
はやり直しに再マップされます。
CTRL-U CTRL-U ウィンドウをバッファ内で上方向にスクロールします。スクロールする行数は
'scroll' オプション(デフォルト:画面の半分)で指定されます。[回数]が指定された場合、最初に
'scroll' オプションを[回数]に設定します。カーソルはファイル内で同じ行数だけ上に移動します(可能な場合。行が折り返された場合やファイルの最後に達した場合には、違いが生じる可能性があります)。カーソルがバッファの最初の行にある場合は何も起こらず、ビープ音が鳴ります。
'startofline' オプションも参照してください。
z^ z^ [回数]なし: ウィンドウのすぐ上の行をウィンドウの下部に表示するように再描画します。カーソルをその行の最初の非空白文字に置きます。[回数]あり: まずテキストをスクロールして[回数]行目をウィンドウの下部に配置し、次にウィンドウの上部にある行をウィンドウの下部に表示するように再描画します。カーソルをその行の最初の非空白文字に置きます。
以下のコマンドは、カーソルを同じ行に保ちながら、編集ウィンドウ(バッファの見える部分)の位置を変更します。
'scrolloff' オプションにより、カーソルの周囲にコンテキスト行が表示される場合があります。
z<CR> z<CR> 再描画し、[回数]行目をウィンドウの上部に配置します(デフォルトはカーソル行)。カーソルをその行の最初の非空白文字に置きます。
zt zt "z<CR>"と同様ですが、カーソルを同じ列に残します。
zN<CR> z{高さ}<CR> 再描画し、ウィンドウの高さを
{高さ}
行にします。画面の更新が非常に遅い場合に、行数を少なくするのに役立ちます。高さを画面の物理的な高さよりも大きくすることはできません。
z. z. 再描画し、[回数]行目をウィンドウの中央に配置します(デフォルトはカーソル行)。カーソルをその行の最初の非空白文字に置きます。
zz zz "z."と同様ですが、カーソルを同じ列に残します。注意: CapsLockがオンになっている場合、このコマンドは "ZZ" になり、バッファを書き込んで終了します!
z- z- 再描画し、[回数]行目をウィンドウの下部に配置します(デフォルトはカーソル行)。カーソルをその行の最初の非空白文字に置きます。
zb zb "z-"と同様ですが、カーソルを同じ列に残します。
以下の4つのコマンドでは、カーソルは画面に追従します。カーソルがある文字が画面外に移動した場合、カーソルは画面上にある最も近い文字に移動します。
'sidescroll' の値は使用されません。
z<Right> または
zl z<Right> zl テキストの表示を[回数]文字右に移動します。つまり、テキストを[回数]文字左にスクロールします。これは、
'wrap' がオフの場合にのみ機能します。
z<Left> または
zh z<Left> zh テキストの表示を[回数]文字左に移動します。つまり、テキストを[回数]文字右にスクロールします。これは、
'wrap' がオフの場合にのみ機能します。
zL zL テキストの表示を画面幅の半分だけ右に移動します。つまり、テキストを画面幅の半分だけ左にスクロールします。これは、
'wrap' がオフの場合にのみ機能します。
zH zH テキストの表示を画面幅の半分だけ左に移動します。つまり、テキストを画面幅の半分だけ右にスクロールします。これは、
'wrap' がオフの場合にのみ機能します。
以下の2つのコマンドでは、カーソルはテキスト内では移動せず、テキストのみが画面上でスクロールします。
zs zs カーソルを画面の開始位置(左側)に配置するようにテキストを水平方向にスクロールします。これは、
'wrap' がオフの場合にのみ機能します。
ze ze カーソルを画面の終了位置(右側)に配置するようにテキストを水平方向にスクロールします。これは、
'wrap' がオフの場合にのみ機能します。
スクロールバーまたはマウスホイールを使用する場合、バインディングは、フォーカスのあるウィンドウ(カーソルがあるウィンドウ)をスクロールする場合にのみ発生します。これにより、オプションをリセットせずに、一時的にスクロールバインディングを回避できます。
ウィンドウに
'diff' オプションも設定されている場合、スクロールバインディングは2つのバッファ間の違いを使用して位置を正確に同期させます。それ以外の場合は、以下の方法が使用されます。
相対スクロールバインド 各
'scrollbind' ウィンドウは、その「相対オフセット」を追跡します。これは、現在のウィンドウの垂直スクロール位置と他のウィンドウの垂直スクロール位置の差と考えることができます。
'scrollbind' ウィンドウの1つがテキストの開始または終了の制限を超えて垂直にスクロールするように要求された場合、ウィンドウはスクロールしなくなりますが、制限を超えてどれだけ移動したいかを記憶します。ウィンドウはこの情報を保持するため、バッファの制限を超えてスクロールするように要求された場合でも、同じ相対オフセットを維持できます。
マウスにスクロールホイールが付いている場合、GUIのNvimとマウスをサポートする端末で動作するはずです。デフォルトでは垂直スクロールホイールのみがサポートされていますが、GUIによっては水平スクロールホイールもサポートされています。
水平スクロールは、
'nowrap' が設定されている場合にのみ機能することに注意してください。また、
'guioptions' の "h" フラグが設定されていない限り、カーソル行が画面からスクロールアウトされようとしている場合、カーソルは表示されている最も長い行に移動します(水平スクロールバーの動作と同様です)。
'mousescroll' オプションを使用して、スクロールする行数/列数を制御できます。また、キーをマッピングすることでデフォルトの動作を変更することもできます。たとえば、ノーマルモードで一度に1ページをスクロールするには
:map <ScrollWheelUp> <C-B>
:map <ScrollWheelDown> <C-F>
スクロールキーは、Shift、Ctrl、Altなどの修飾キーと組み合わせて使用することもできます。
マウスでスクロールする場合、現在カーソルがあるウィンドウがスクロールされます。これにより、非アクティブなウィンドウをスクロールできます。スクロールキーがキーボードキーに再マップされている場合、現在カーソルの位置に関係なく、アクティブなウィンドウが影響を受けることに注意してください。