繁体   English   中英

vi / vim:如何滚动窗口高度的三分之一

[英]vi/vim: how to scroll by a third of window height

据我了解, ctrl-dctrl-u通过scroll选项中设置的行数来滚动窗口,该选项默认为窗口高度的一半。 可以将其更改为滚动窗口高度的三分之一吗?

使用以下ex命令。 它使用显示在窗口中显示多少行的可变lines ,并计算第三行。

:execute "set scroll=" .&lines / 3

编辑 :调整窗口大小时,滚动值不会改变,因此将以下自动命令添加到您的vimrc以对其进行修复:

:au VimResized * execute "set scroll=" . &lines / 3

scroll的默认值是动态的-在一个窗口中可以是12在另一个窗口中可以是21但是比例50%是硬编码的。 AFAIK,用于动态计算scroll比例无法修改。

您可以使用以下类似方法轻松更改scroll值:

execute "set scroll=" . winheight('.') / 3

现在,您必须找到如何,何时何地使用该代码段。 autocmd似乎是一个不错的选择,但是我们应该使用什么事件? WinEnter / WinLeave CursorMove 还有吗

也许是覆盖默认值的简单映射? 就像是:

nnoremap <C-d> :execute "normal! " . winheight('.') / 3 . "^D"<CR>
" type <C-v> then <C-d> to produce ^D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM