Пример:действие флаг подтверждения в течение цикла
"create list of only certain linenumbers
....
"take action on these linenumbers
for i in range(0,len(mylist)-1)
exe mylist[i].'s/(mysearch)/\=substitute(submatch(0), ".", "", "ge")/gc'
endfor
Подтверждение флаг отлично работает, если я использую y
или n
, но не работает, когда я использую a
или q
, потому что он находится в пределах для цикла.
Как я могу захватить флаг a
и q
в диалоге подтверждения и выполнить его на весь цикл:
a --> do a substitute for all other lines in for loop
q --> end for loop
(я когда-то просил что-то подобное, но не нашел решения)
Привет, Люк, я не очень хорошо понимаю ваш ответ. Мои простыни на самом деле находятся в списке «mylist», когда я нажимаю p.e. 3 раза 'y' на моей клавиатуре для 3 замен и хотите изменить все остальные ('a'), как я могу адаптировать ваше решение? – Reman
Вам просто нужно изменить 'PATTERN' на то, что вы заменяете, и' REPL' тем, что вы хотите вставить вместо этого. Я все еще использую ': substitute'. Просто я использую карту и присоединяюсь, чтобы составить список в очень конкретный ведущий образец. Попробуйте использовать 'echo' вместо' exe', чтобы увидеть, что делает команда. –
Я не могу адаптировать это решение, потому что у меня есть команда substitute в цикле for с гораздо большим количеством кода. Я хотел бы найти что-то вроде «если пользователь нажал« a »-> изменить подзаголовок с« gc »на« g »и« если пользователь нажал «q» -> break for loop » – Reman