Vim: отображать относительные простыни, начиная с 1

В vim мне нравится использовать относительные линейные номера, чтобы узнать, сколько строк мне нужно выдернуть, удалить, что угодно.

Однако при использовании относительных слоев linenumbers текущая строка равна 0, что означает, что если я хочу выдернуть до строки с номером 3, мне нужно ввести 4yy, что является своего рода противоречивым и замедляет меня.

Есть ли способ отображения относительных линейных номеров, начинающихся с 1 вместо 0?

Ответ 1

Я бы сказал, работайте с системой. Вместо использования "повтора" вы можете модифицировать, чтобы использовать движение, как предполагалось:

y3j вместо 4yy

Вы заметите, что команда yank принимает движение. yy существует только в качестве shorcut, если вы не хотите движения (по определению берет текущую строку).

В каком-то смысле выполнение 4yy немного немного ( "4 раза" берут всю эту строку: вы полагаетесь на то, что движение импликации эффективно умножается на повторение, это не естественно, поскольку движение было неявным).

С плюсом вы можете даже объединить его: 4d3j (удалить 3 строки вниз 4 раза подряд, а не очень полезный пример)

Ответ 2

AFAIK no... или вы можете проверить vim и изменить его исходный код.

Ответ 3

Нет, это невозможно, потому что номера строк являются относительными. Первая строка под текущей строкой правильно пронумерована 1, а значит, первая строка над текущей строкой.

Согласитесь, что вам нужно сделать эту небольшую математику, когда вы работаете с командами типа yy, dd и т.д.