Vim-zt将在光标位于顶部的情况下重新绘制窗口。你能用它重画吗,比如说,往下画4行?

Vim-zt将在光标位于顶部的情况下重新绘制窗口。你能用它重画吗,比如说,往下画4行?,vim,window,cursor,redraw,Vim,Window,Cursor,Redraw,使用“:help z”阅读手册时,会显示各种可以重新绘制窗口的命令,例如,z使用光标在中间重新绘制,或zb使用光标在屏幕底部重新绘制 zt很好,但我会发现能够在页面下方25%的地方用光标重新绘制要舒服得多(这样我刚才写的东西仍然可见)。除了宏操作,还有更简单的方法吗?您可以使用'scrolloff'选项: set scrolloff=4 请参见:help“scrolloff”以下是映射(分配给zt),我用于在窗口顶部的光标线上方放置许多行: nnoremap <silent> &l

使用“:help z”阅读手册时,会显示各种可以重新绘制窗口的命令,例如,z使用光标在中间重新绘制,或zb使用光标在屏幕底部重新绘制


zt很好,但我会发现能够在页面下方25%的地方用光标重新绘制要舒服得多(这样我刚才写的东西仍然可见)。除了宏操作,还有更简单的方法吗?

您可以使用
'scrolloff'
选项:

set scrolloff=4
请参见
:help“scrolloff”

以下是映射(分配给
zt
),我用于在窗口顶部的光标线上方放置许多行:

nnoremap <silent> <Leader>zt :<C-u>exec 'normal! ' . v:count . 'kzt' . v:count . 'j'<CR>
nnoremap zt:exec'normal!'。五:伯爵。”kzt’。五:伯爵。”j'

如果不提供前缀,它会将光标上方的一行放在窗口顶部。

关于@echristopherson的答案,此映射也应该有效:

nnoremap zt zt3<C-y>
nnoremap zt zt3
对于默认行为:

nnoremap zT zt " 3<C-y> is not applied because of the n`nore` map.
nnoremap zT zT“3由于n`nore`map而未应用。

< /代码>不确定这是否是你正在寻找的,但是你可以使用<代码> SECSCROWOFF=N(其中N是一些行)来保持在屏幕顶部和底部光标上方可见的指定数量的行。