11

在 vim 中,我喜欢使用相对行号来查看需要拉出、删除多少行。

但是,当使用相对行号时,当前行是 0,这意味着,如果我想拉到编号为 3 的行,我必须输入 4yy,这有点违反直觉并且会减慢我的速度。

有没有办法显示以 1 而不是 0 开头的相对行号?

4

3 回答 3

17

我会说,系统合作。您可以修改以按预期使用动作,而不是使用“重复”:

y3j代替4yy

您会注意到 yank 命令执行了一个动作。如果您不想要一个动作(根据定义它需要当前行yy,它只是作为一个捷径存在。

从某种意义上说,做 4yy 有点尴尬('4times' 占据了整条线;你依赖于隐式运动有效地乘以重复这一事实,因为运动是隐式的,所以这并不自然)。

从好的方面来说,你甚至可以将它组合起来:(4d3j连续 4 次删除 3linesdown,这不是一个非常有用的示例)

于 2012-03-06T12:18:44.753 回答
0

AFAIK 没有...或者您可以查看vim并修改它的源代码。

于 2012-03-06T09:16:51.507 回答
0

不,这是不可能的,因为行号是相对的。当前行下方的第一行正确编号为 1,当前行上方的第一行也是如此。

同意,当您使用等命令时yy,您必须做一些数学运算。dd

于 2012-03-06T10:07:55.447 回答