vim: отображать относительные количества белья, начинающиеся с 1 - PullRequest
11 голосов
/ 06 марта 2012

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

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

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

Ответы [ 3 ]

17 голосов
/ 06 марта 2012

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

y3j вместо 4yy

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

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

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

0 голосов
/ 06 марта 2012

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

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

0 голосов
/ 06 марта 2012

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

...