Vim:只滚动当前行
Vim: Only scroll the current line
我希望 vim
像 nano
那样水平滚动,只滚动当前行,而不是整个屏幕。
我试过 nowrap
和 scrolloff
设置,但没有成功。
这里有一些截图(光标在长行的末尾)来解释我自己。
纳米:
Vim(换行):
Vim(现在换行):
谢谢!
不,Vim 无法做到这一点,而且我认为很难以不矛盾或不混淆用户的方式实现这一点。需要有一个指示器(如横向滚动)表明只有当前行被滚动。同样在 Vim 中,有几个命令(如 j
/ k
和 i_CTRL-Y
/ i_CTRL-E
)在上面/下面的行中引用同一列。部分滚动的视图状态会使它们难以使用。
就是说,您可以通过 hack 来实现这一点:折叠线的 foldtext 不会水平滚动。因此,如果您通过自定义 'foldexpr'
折叠每一行(当前行除外),将折叠文本设置为该行的文本,并自动关闭所有周围的折叠,您将得到这个。但是,由于您将失去语法突出显示和 "normal" 折叠,因此这更多的是为了演示而不是实际的解决方案。
我希望 vim
像 nano
那样水平滚动,只滚动当前行,而不是整个屏幕。
我试过 nowrap
和 scrolloff
设置,但没有成功。
这里有一些截图(光标在长行的末尾)来解释我自己。
纳米:
Vim(换行):
Vim(现在换行):
谢谢!
不,Vim 无法做到这一点,而且我认为很难以不矛盾或不混淆用户的方式实现这一点。需要有一个指示器(如横向滚动)表明只有当前行被滚动。同样在 Vim 中,有几个命令(如 j
/ k
和 i_CTRL-Y
/ i_CTRL-E
)在上面/下面的行中引用同一列。部分滚动的视图状态会使它们难以使用。
就是说,您可以通过 hack 来实现这一点:折叠线的 foldtext 不会水平滚动。因此,如果您通过自定义 'foldexpr'
折叠每一行(当前行除外),将折叠文本设置为该行的文本,并自动关闭所有周围的折叠,您将得到这个。但是,由于您将失去语法突出显示和 "normal" 折叠,因此这更多的是为了演示而不是实际的解决方案。