Повторение через строки в энергии

У меня есть некоторые строки текста как это:

firstName
lastName
email

Теперь я добавляю private readonly string к запуску первой строки. Как я повторяю это редактирование для других строк? (не вручную посещающий каждую строку, конечно) (BTW я действительно понимаю, это могло быть сделано с regex, но я ищу "vi путь" если возможный),

На всякий случай я использую VsVim

8
задан 11.03.2011, 22:44

5 ответов

Перейдите до firstName в режиме Normal и типе

qaIprivate readonly string <ESC>jq

Это запишет макрос (в регистре a) из Вас добавляющий "частную строку только для чтения" к началу строки, затем спуская одну строку. Если Вы хотите повторить этот макрос дважды (таким образом повторяющий команду для следующих двух строк) в типе командного режима 2@a на lastName строка, которая выполнит макрос вдвое больше.


Этот метод выполняет Ваше требование "не вручную посещающий каждую строку"; однако это - маленький тяжеловес для Вашего приложения.

Если это - ввод private readonly string то, что Вы возражаете против, быстрое решение состоит в том, чтобы сделать Ваше редактирование на первой строке, затем спуститься к каждой строке, Вы хотите сделать редактирование и использование . в режиме Normal. Это повторит Вашу последнюю команду (в этом случае, добавляющем текст к строке) без суеты.

8
ответ дан 07.12.2019, 13:44

Другой способ сделать это к использованию Визуального Блочного режима:

  1. Запустите со своего курсора в начале первой строки.
  2. Нажмите Ctrl+v для ввода Визуального Блочного режима.
  3. Нажмите j для спуска, расширив выбор для включения строк, которые Вы хотите.
  4. Нажмите I для входа в (преднезаконченный) Режим вставки.
  5. Ввести private readonly string.
  6. Нажмите Esc. Это заставит Вас возвращаться к командному режиму, и текст, который Вы ввели, будет повторен на каждой строке перед запуском Вашего визуального выделения блока (в этом случае, в начале каждой строки, так как это - то, где Вы начали выбор).
7
ответ дан 07.12.2019, 13:44

:normal является большим (и короче) также:


:.,+2norm Iprivate readonly string 

  • .,+2 - отсюда до 2 два рева строк (или Вы могли выбрать строки с помощью визуального режима shift+v и затем ввод: войти исключая режимом)
  • norm - введите эти команды, как будто я ввел их в нормальном (команда) режим
  • I(...) - вставьте следующую строку в начале строки
7
ответ дан 07.12.2019, 13:44

Просто введите "частную строку только для чтения" в первой строке. Затем для остальной части этих 2 типов 2 строк (отмечают точкой символ) как 2. от второй строки.

3
ответ дан 07.12.2019, 13:44

Дайте этому попытку:

:%s/^/private readonly string /

Я предполагаю, что Вы могли записать сценарий, но почему?

1
ответ дан 07.12.2019, 13:44

Теги

Похожие вопросы