向下滚动页面时,相对编号不再基于光标位置。而是显示相对于屏幕顶部的行位置。有时我想删除或猛拉200行,我不想做减法和加法,以计算出有多少行下来,我的文本是。如何在滚动时显示相对于光标的行号?
oug3syen1#
我想你想要的是,你用鼠标滚动,并期望vim保持光标在原来的地方。例如,你的光标在第5行,你向下滚动5000行,你期望你的光标仍然在第5行。也就是说,光标在窗口之外。答:光标不会离开窗口。这意味着,如果你继续向下滚动,光标所在的行将是当前窗口的第一行。rnu将根据光标所在的行重新计算。也许你可以解释一下你想做什么。你问题中的案例可以通过200dd或200Y来完成,但我想它不是那么简单。
200dd
200Y
xxxdd
:5,.d
line 5 to your current line
5, 23452d
/pattern
:.,/foo/d
foo
V
Y or d
你可以看看这个问题/答案:VIM to delete a range of lines into a register最后,我建议你不要在vim中使用鼠标。
vnzz0bqm2#
这可能是因为当你向下滚动一页时,光标会向下移动一页。在vim中,光标总是在屏幕上。如果你用鼠标滚轮向下滚动,光标会“卡”在第一行(模scrolloff),并在你继续向下滚动时停留在那里。也许在滚动之前使用ShiftV来启动基于行的可视选择,然后在选择上使用d或y?
scrolloff
xfb7svmp3#
我可以确认在安装了Vim extension的Visual Studio Code(VSC)中可以使用所需的功能。这是因为VSC在默认情况下不像Vim那样工作,而是像其他文本编辑器那样将光标保持在适当的位置。这个功能不仅使VSC可以忍受,而且证明在编写大块代码时比Vim更有用。此外,VSC还允许使用<Ctrl> + /进行简单且与语言无关的注解/取消注解切换,这在与上述功能一起使用时也非常有用。
<Ctrl> + /
3条答案
按热度按时间oug3syen1#
我想你想要的是,你用鼠标滚动,并期望vim保持光标在原来的地方。例如,你的光标在第5行,你向下滚动5000行,你期望你的光标仍然在第5行。也就是说,光标在窗口之外。
答:光标不会离开窗口。这意味着,如果你继续向下滚动,光标所在的行将是当前窗口的第一行。rnu将根据光标所在的行重新计算。
也许你可以解释一下你想做什么。你问题中的案例可以通过
200dd
或200Y
来完成,但我想它不是那么简单。xxxdd
。这里你应该使用正常的行号。例如,你的光标在第5行,你向下滚动很多,找到你想删除的行,直到从第5行。你可以执行:5,.d
vim将从line 5 to your current line
删除。5, 23452d
。/pattern
搜索来搜索你的结束行,vim可以做:.,/foo/d
,这将从当前行删除,直到下一行,这匹配foo
。V
进入逐行可视模式,并通过vim-motions向下移动。当它到达您要删除的点时/y并按Y or d
你可以看看这个问题/答案:VIM to delete a range of lines into a register
最后,我建议你不要在vim中使用鼠标。
vnzz0bqm2#
这可能是因为当你向下滚动一页时,光标会向下移动一页。在vim中,光标总是在屏幕上。如果你用鼠标滚轮向下滚动,光标会“卡”在第一行(模
scrolloff
),并在你继续向下滚动时停留在那里。也许在滚动之前使用ShiftV来启动基于行的可视选择,然后在选择上使用d或y?
xfb7svmp3#
我可以确认在安装了Vim extension的Visual Studio Code(VSC)中可以使用所需的功能。这是因为VSC在默认情况下不像Vim那样工作,而是像其他文本编辑器那样将光标保持在适当的位置。这个功能不仅使VSC可以忍受,而且证明在编写大块代码时比Vim更有用。
此外,VSC还允许使用
<Ctrl> + /
进行简单且与语言无关的注解/取消注解切换,这在与上述功能一起使用时也非常有用。