vimの最後の行の終わりまで自然にスクロール

vimの最後の行の終わりまで自然にスクロール

私はvim初心者であり、この問題を解決するのに役立つリソースを見つけるのに苦労しています。

カーソルをファイルの一番下に移動するときは、最後の行を過ぎて続行したいと思います。最後の行がウィンドウの一番上に来るまで続けるのは良いですが、無期限にしても大丈夫です。現在私の解決策は、set scrolloff=20myと入力して~/.vimrc+Gを押してzz一番下に移動することです。しかし、上下にスクロールすると、最後の行が再び下部に貼り付けられます。

ファイルの後に改行文字がないため、実際にスクロールできる項目がないことを理解しています。しかし、それにもかかわらず、ウィンドウの中央にある一番下の行を使用してファイルを編集することができず、迷惑です。

だから最終的に私は最終結果に達したときにそれを押すとj下にスクロールすることを願っています。これを行う方法はありますか?

ベストアンサー1

この動作には組み込みのオプションはないと思いますが、構成の一部のキーバインディングを使用すると、カーソルが途中の行を永久に保持できます(ファイルの最初の数行を除く)。

set scrolloff=99999

nnoremap <C-U> 11kzz
nnoremap <C-D> 11jzz
nnoremap j jzz
nnoremap k kzz
nnoremap # #zz
nnoremap * *zz
nnoremap n nzz
nnoremap N Nzz
nnoremap gg ggzz
nnoremap G Gzz
nnoremap gj gjzz
nnoremap gk gkzz

zzこれは、現在の行の後に実行する一般的な操作をマップし、画面の中央に配置します。画面の位置が再び中央になる前に実際に後方に移動するため、遅い端末(SSH経由など)ではちらつきが発生する可能性があります。

おすすめ記事