当光标位于屏幕中间并向下滚动时,光标在屏幕上向上移动.我不希望它那样做.
如何滚动而不更改光标在屏幕上的位置?
解决方案,回答后补充:
noremap <C-k> 14j14<C-e>
noremap <C-l> 14k14<C-y>
Run Code Online (Sandbox Code Playgroud) 例如,在线粘贴后,我的窗口显示文档的最右侧部分(列 >80)。
将光标留在当前位置后,如何将屏幕水平居中围绕它。或者,我可以将屏幕向左移动半个屏幕宽度,避免使用固定数字,例如44zh
?
虽然标题不具体,但所有答案都只涉及向上/向下移动: 如何在 Vim 中移动屏幕而不移动光标?
所以我已阅读:help scroll-cursor
并非常喜欢zz
,它将光标所在的行放在窗口中间.
我正在寻找帮助来制作一个类似的映射,zz
但是将光标放在窗口高度的20%处(或25%,30%等).
编辑:
感谢ZyX和Drasill,我能够修改他的功能以获得所需的功能:
function ScrollToPercent(percent)
let movelines=winheight(0)*a:percent/100
if has("float") && type(movelines)==type(0.0)
let movelines=float2nr(movelines)
endif
let oldso=&so
execute ":set so=" . movelines
execute "normal! zt"
execute ":set so=" . oldso
endfunction
Run Code Online (Sandbox Code Playgroud)