在vim中,如何在启用换行时通过屏幕线连续滚动?

时间:2011-12-03 16:19:00

标签: vim

我可以通过设置display = lastline

来显示窗口的底部以显示部分线条

是否有类似的选项允许在窗口顶部显示部分线?

如果没有此功能,当显示的最顶层文件行被包装到多个屏幕行中时,我的vim仍然会向下滚动(向下)超过1个屏幕行。

例如,在以下场景中,当我按下C-E时,我的vim将向下滚动3个屏幕行。有没有办法让它只滚动1个屏幕行,这样只会隐藏第1行中的前两个单词,但仍会显示以下3个单词?这对于编辑长段文本非常有用。

注意:我指的是整个屏幕的滚动,而不是光标的移动。

------------------
1 abcdefg abcefg
  abcasdfsa sdfsf
  sdfc
2 adfadf
3 adfadf
4 adfadf
------------------

2 个答案:

答案 0 :(得分:7)

我认为不可能完全按照自己的意愿行事。

以下是我输入:help CTRL-E

时的说明
                                                             CTRL-E
CTRL-E                      Scroll windows [count] lines downwards in the buffer.
                            Mnemonic: Extra lines.

请注意,虽然它表示正在滚动窗口,但它还提到它正在滚动缓冲区中的。你真的只是一次滚动一条(包裹)线。

我认为还有另一种解决方法。

  

我可以通过设置display = lastline

来显示窗口的底部以显示部分线条

我认为display=lastline是一个错误的解决方案 - 你仍然滚动相同数量,你只是更明显。

解决此问题的真正方法是禁用包装

:set nowrap

修改

一些相关的线程显示“滚动屏幕线”功能正在考虑之中,但需要一段时间才能实现:

答案 1 :(得分:1)

对于阅读此主题的任何人:

Vi stackexchange上的

This thread提供了一个有点hacky(但可用)的解决方案,可以在包装线上进行可视滚动。