2

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

4

2 回答 2

3

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

scroll您可以通过以下方式轻松更改 的值:

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

现在您必须找到使用该代码段的方式、时间和地点。Anautocmd似乎是一个不错的选择,但我们应该使用什么事件?WinEnter/ WinLeave? CursorMove? 还有什么?

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

nnoremap <C-d> :execute "normal! " . winheight('.') / 3 . "^D"<CR>
" type <C-v> then <C-d> to produce ^D
于 2013-05-15T21:02:28.770 回答
2

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

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

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

:au VimResized * execute "set scroll=" . &lines / 3
于 2013-05-15T20:47:15.710 回答