Ответ 1
работает :%s/{pattern}.*//
?
Я пытаюсь найти текстовый файл для определенного шаблона. Если этот шаблон возникает, это означает, что остальная часть строки не нужна и поэтому может быть удалена.
Я попытался использовать следующие команды, но до сих пор не увенчался успехом.
:%s/{pattern}/d$
:g/{pattern}/d$
Если у кого-то есть предложения, они будут очень благодарны
работает :%s/{pattern}.*//
?
В качестве альтернативы, также работает
:g/{pattern}/normal nd$
Для чего вы хотите, я бы пошел с mirod предложением. То, что я разместил, немного более гибкое и может пригодиться в подобных ситуациях.
Пояснение:
В каждой строке, где шаблон совпадает, выполните следующие команды нормального режима: "nd $". Когда курсор находится в начале строки, "n" переходит к шаблону, а "d $" удаляется до конца строки.
%s/\\(replay-pattern-later\\) pattern2/\1/gc
Это приведет к повторному воспроизведению шаблона1, но исключает шаблон2. Использование "/gc" для применения в глобальном масштабе (продолжение) и запрос на каждое возникновение.
Чтобы заменить шаблон и все остальное, используйте обычное выражение wild card .*
:1,$s/pattern.*//g