Использование подстановки vim (:s
)
1 Использование :s
и подтверждение выполнения задания:
:%s/\s\+/\raaa /gc
Когда vim запрашивает подтверждение , вы нажимаете n
, затем a
.
2 Вызовите функции в команде :s
vim:
%s/\v((\S+)\s+\S+)(.*)/\=submatch(1).substitute(submatch(3), '\s\+',"\r".submatch(2)."&",'g')
Вышеприведенная команда выглядит длинной, но она довольно просто.
Использование макроса vim
На вашем месте я бы сделал это с макросом в vim. Лично я чувствую, что это будет "vim" путь:
Предположим, что строка в вашем примере находится в строке1, а ваш курсор находится на первом столбце. Вы нажимаете:
qqyw2f<Space>i<Enter><Ctrl-r>"<Esc>0q
Чтобы записать макрос и сохранить его в регистре q
. Затем вы можете просто воспроизвести макрос x раз, например:
99@q
и посмотреть, как vim выполняет свою работу. Общее количество нажатий клавиш до конечной sh работы будет меньше 20.
Похоже: