Если я хочу удалить каждое слово, это легко, потому что я бы сделал что-то вроде этого:
:s%/WORD//g
Но что если я захочу сделать xyz
для каждого случая «СЛОВО»? Например, допустим, я хочу удалить каждую строку, содержащую «WORD». Я могу придумать пару способов сделать это, но ни один из них не кажется идеальным.
1)
/WORD
и затем нажмите вручную, ddnddnddnddn...
пока больше нет вхождений. Но это занимает много времени, если есть много строк для этого.
2)
qd/WORD<enter>ddq
а затем угадать, сколько раз WORD происходит, а затем, например:
500@d
Но это либо А) пропустит кучу строк, либо Б) удалит кучу лишних строк.
Есть лучший способ это сделать?
500@d
как вы описываете, на самом деле безопасно. Воспроизведение макроса остановится, как только условие поиска не будет найдено. Таким образом, вы просто увидите ошибку «Шаблон не найден: СЛОВО» после того, как все строки, содержащие его, будут удалены.