У меня есть некоторые строки текста как это:
firstName
lastName
email
Теперь я добавляю private readonly string
к запуску первой строки. Как я повторяю это редактирование для других строк? (не вручную посещающий каждую строку, конечно) (BTW я действительно понимаю, это могло быть сделано с regex, но я ищу "vi путь" если возможный),
На всякий случай я использую VsVim
Перейдите до firstName
в режиме Normal и типе
qaIprivate readonly string <ESC>jq
Это запишет макрос (в регистре a
) из Вас добавляющий "частную строку только для чтения" к началу строки, затем спуская одну строку. Если Вы хотите повторить этот макрос дважды (таким образом повторяющий команду для следующих двух строк) в типе командного режима 2@a
на lastName
строка, которая выполнит макрос вдвое больше.
Этот метод выполняет Ваше требование "не вручную посещающий каждую строку"; однако это - маленький тяжеловес для Вашего приложения.
Если это - ввод private readonly string
то, что Вы возражаете против, быстрое решение состоит в том, чтобы сделать Ваше редактирование на первой строке, затем спуститься к каждой строке, Вы хотите сделать редактирование и использование .
в режиме Normal. Это повторит Вашу последнюю команду (в этом случае, добавляющем текст к строке) без суеты.
Другой способ сделать это к использованию Визуального Блочного режима:
private readonly string
.:normal является большим (и короче) также:
:.,+2norm Iprivate readonly string
.,+2
- отсюда до 2 два рева строк (или Вы могли выбрать строки с помощью визуального режима shift+v и затем ввод: войти исключая режимом)norm
- введите эти команды, как будто я ввел их в нормальном (команда) режимI(...)
- вставьте следующую строку в начале строкиДайте этому попытку:
:%s/^/private readonly string /
Я предполагаю, что Вы могли записать сценарий, но почему?