13

ウィンドウを水平に分割するときにVimがスクロールしないようにしたい(それが正しい単語の場合)。

Vimで10行のファイルを編集するとします。バッファにウィンドウが1つあり、ウィンドウの高さは40行です。2つのウィンドウを重ねて表示するのに十分なスペースがあり、両方にバッファ全体が表示されます。そして、4に設定されているとしましょうscrolloff

ウィンドウを水平に分割すると、元のウィンドウがスクロールされscrolloff、ウィンドウの上部とカーソルが置かれている線の間に正確に線が表示されます-ウィンドウの上部とカーソルの線の間に線が複数ある場合scrolloff- -スクロールする必要はありませんが。

言い換えると、ウィンドウを分割したときにカーソルが1、2、3、4、または5行目にある場合、元のウィンドウは「移動」しません(良好)。ただし、カーソルが6行目にある場合は、ウィンドウがスクロールして2行目が一番上に表示される行になります...scrolloff行(4)がカーソル行の上に表示されるようにします(煩わしい)。同様に、ウィンドウを分割したときにカーソルが7行目にある場合、元のウィンドウはその行3までスクロールして、一番上の表示行になります。等々。

元のウィンドウを水平に分割したときに元のウィンドウをスクロールしないようにVimを構成する方法はありますか?

私が望むことを実行する関数にマップ<C-W>sすることは可能だと思いますが、可能であれば構成によってこれを解決したいと思います。

4

3 に答える 3

6

hereから答えを借りて、解決策を見つけました。

.vimrcは持っています:

nnoremap <C-W>s Hmx`` \|:split<CR>`xzt``

そして、ウィンドウを水平に分割すると<C-W>s、元のウィンドウはまったくスクロールしません。

于 2012-10-18T07:17:09.430 に答える
4

最近利用可能なオプションは、stable-windowsプラグインです。私はそれを試してみましたが、うまく機能しています。

于 2019-10-09T18:11:41.657 に答える