Что такое команда vim для копирования вставить строку 'n' нет. раз с числами в строках последовательно увеличиваться? - PullRequest
0 голосов
/ 02 мая 2018

Что такое команда vim для копирования, вставьте следующую строку 'n' нет. раз с 3-значными числами (в данном случае, «001») в строках последовательно увеличиваться? :

test abc_001 { a_script : "run_script.sh -unit_test_number 001"; details: <text> Test: a , pattern: 001 </text>; count : 1; };

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Вы можете использовать макрос. Предположим, что пример входного абзаца:

abc_001
number 001
pattern: 001

Сохранить эту последовательность команд в регистр (например, регистр a):

yip}p/\d\d\d^M^An^An^A

Здесь ^M и ^A - специальные символы для <Enter> и Ctrl+A. Поместите курсор в абзац ввода и дважды запустите макрос (набрав 2@a в обычном режиме). Выход:

abc_001
number 001
pattern: 001

abc_002
number 002
pattern: 002

abc_003
number 003
pattern: 003
0 голосов
/ 02 мая 2018
  • Сначала вы дергаете ( Y или y ) строки, а затем вставляете ( p ).

  • Затем выполните это:

    :'[,']s/\d\d\d/\=printf("%03d",1+submatch(0))
    

Команда собирается изменить 001 на 002 в только что вставленном тексте.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...