Vim Multiple Row Matching Deleted to Row Head

  question, vim

Problem description
A large file needs to be processed to delete the contents before the matching string in each line. The file content format is as follows:

aaa dd kk segmentfault=1098-0987-3jlc ok=okj hello=0cvqa
 12jk od=kk segmentfault=1jj8-lk87-oplc suiji=che shachu=keng
 pppp=dd bbo;  =9as segmentfault=0876-oj87-3pac zifu=ka neirong=xia

It is expected that the contents before the first occurrence of segmentfault in each row can be deleted to the beginning of the row, and the expected processing results are as follows

segmentfault=1098-0987-3jlc ok=okj hello=0cvqa
 segmentfault=1jj8-lk87-oplc suiji=che shachu=keng
 segmentfault=0876-oj87-3pac zifu=ka neirong=xia

Current plan
Use macros to execute

Qa-start macro recording
 /resourceid-do whatever you want
 D0-operate at will and delete to the beginning of the line.
 J-operate at will and jump to the next line.
 Q-exit macro
 1000000@a --- 1000000 executions

Disadvantages: Low efficiency and extremely time-consuming

Expected plan
It is expected to delete the matching position of each row to the beginning of the row after direct column editing (ctrl+v).
How should this be achieved?

Try regular replacement, column editing, your keyword position is different, direct column editing is not possible

:%s/^.*segmentfault/segmentfault/g