Vim:显示以1开始的相对行号

12
在vim中,我喜欢使用相对行号来查看需要复制、删除或其他操作的行数。
但是,当使用相对行号时,当前行为0,这意味着,如果我想要复制直到第3行,我必须键入4yy,这有点不直观并且使我变慢了。
有没有办法显示相对行号从1开始而不是0?
3个回答

18

我建议,与系统协同工作。不要使用“repeat”,而是可以修改为按照意图使用运动方式:

y3j 而非 4yy

你会注意到复制命令需要一个运动方式。 yy 只是当你不想使用运动方式时的快捷键(按定义,它复制整行)。

从某种意义上说,使用 4yy 有点别扭('4次'复制这整行;你依赖于隐含的运动方式被有效地乘以重复次数,但这并不自然,因为运动方式是隐含的)。

好的一面是,你甚至可以结合使用:4d3j(连续删除 3 行向下4次,不是很有用的例子)


学习如何使用动作还可以让您快速删除/复制向上的4行(<kbd>y4k</kbd>),而不必先将光标移动四行,然后使用<kbd>4yy</kbd>向下复制。 - joelostblom
显然,在注释中不支持键盘按钮标签。这是一个更易读的版本 - 学习如何使用动作也可以让您快速删除/复制4行向上(y4k),而不必先将光标移动四行,然后使用4yy向下复制。 - joelostblom

0
据我所知没有...或者你可以查看vim并修改其源代码。

0

不行,因为行号是相对的。当前行下面的第一行被正确地编号为1,上面的第一行也是如此。

当你使用像yydd等命令时,你必须做这些小算术。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接