vim: отображение относительных номеров строк, начиная с 1

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

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

есть ли способ отобразить относительные номера строк, начинающиеся с 1 вместо 0?

3 ответов


Я бы сказал, Работа С система. Вместо использования "повтора" вы можете изменить, чтобы использовать движение по назначению:

y3j вместо 4yy

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

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

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


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


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

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