711

Ctrl私は最近、Vim の+ECtrl+のショートカットを発見しました。これは、カーソルを移動せずに、Yそれぞれ画面を 1 行ずつ上下に移動します。

カーソルをそのままにして、カーソルのある行が最初の行になるように画面を移動するコマンドを知っていますか? (最後の行にコマンドがあると便利です)。

Ctrl+ E(またはCtrl+ Y) を適切な回数だけ手動で押すことでこれを実現できますが、これを何らかの形で直接実行するコマンドがあると便利です。

何か案は?

4

14 に答える 14

1018
  • zz- 現在の行を画面の中央に移動します
    (注意しzzてください。誤ってCaps Lockオンにしてしまった場合は、保存して終了してくださいvim!)
  • zt- 現在の行を画面の一番上に移動
  • zb- 現在の行を画面の一番下に移動
于 2010-08-11T13:34:12.810 に答える
724

さらに:

  • Ctrl-y画面を1行上に移動します
  • Ctrl-e画面を1行下に移動します
  • Ctrl-uカーソルと画面を1/2ページ上に移動します
  • Ctrl-dカーソルと画面を1/2ページ下に移動します
  • Ctrl-b画面を1ページ上に移動し、カーソルを最後の行に移動します
  • Ctrl-f画面を1ページ下に移動し、カーソルを最初の行に移動します

Ctrl-yおよびCtrl-eカーソル位置を変更するのは、カーソルが画面外に移動する場合のみです。

www.lagmonster.org/docs/vi2.htmlの礼儀

于 2012-06-27T21:43:31.963 に答える
45

Vim ではカーソルが常に現在の画面にある必要がありますが、現在の位置をブックマークしてスクロールし、元の場所に戻ることができます。

mg  # This book marks the current position as g (this can be any letter)
<scroll around>
`g  # return to g
于 2010-08-11T13:25:56.067 に答える
19

Ctrl+ DCtrl+ FCtrl+ BCtrl+ UGHM、を使用するときにカーソルを同じ列に残すにLgg

次のオプションを定義する必要があります。

:set nostartofline
于 2016-02-18T07:35:28.000 に答える
4

「カーソルを基準にして Vim をスクロールする、カスタム マッピング」への回答が役立つ場合があります。

ScrollToPercent(0)from that question を使用してこれを行うことができます。

于 2010-08-11T13:30:48.643 に答える