在 vim 中,我喜欢使用相对行号来查看需要拉出、删除多少行。
但是,当使用相对行号时,当前行是 0,这意味着,如果我想拉到编号为 3 的行,我必须输入 4yy,这有点违反直觉并且会减慢我的速度。
有没有办法显示以 1 而不是 0 开头的相对行号?
在 vim 中,我喜欢使用相对行号来查看需要拉出、删除多少行。
但是,当使用相对行号时,当前行是 0,这意味着,如果我想拉到编号为 3 的行,我必须输入 4yy,这有点违反直觉并且会减慢我的速度。
有没有办法显示以 1 而不是 0 开头的相对行号?
我会说,与系统合作。您可以修改以按预期使用动作,而不是使用“重复”:
y3j代替4yy
您会注意到 yank 命令执行了一个动作。如果您不想要一个动作(根据定义它需要当前行)yy,它只是作为一个捷径存在。
从某种意义上说,做 4yy 有点尴尬('4times' 占据了整条线;你依赖于隐式运动有效地乘以重复这一事实,因为运动是隐式的,所以这并不自然)。
从好的方面来说,你甚至可以将它组合起来:(4d3j连续 4 次删除 3linesdown,这不是一个非常有用的示例)
AFAIK 没有...或者您可以查看vim
并修改它的源代码。
不,这是不可能的,因为行号是相对的。当前行下方的第一行正确编号为 1,当前行上方的第一行也是如此。
同意,当您使用等命令时yy
,您必须做一些数学运算。dd