Вы можете скопировать весь блок, а затем заменить вторую часть регулярным выражением:
ggyGGp:,$s/^\v(.*)\=.*/\1:\1/g
Но вы также можете использовать макрос в различных формах
Хотя ggyGGp
- это набор команд, который пользователь vim использует довольно свободно, комментарий Питера под ответом Инго заставил меня вспомнить, что это также довольно новаторский способ сделать это (эй, я все еще учусь так все в порядке).
:%t0
может быть более элегантным, t
является синонимом для копирования, %
означает каждую строку, а 0
означает нулевую строку. Поэтому мое решение для регулярных выражений будет выглядеть так:
:%t0<cr>o<esc><cr>:,$s/^\v(.*)\=.*/\1:\1/g
Это все еще на 8 символов дольше, чем решение Peters Golf, но я могу с этим смириться, поскольку гольф только для шикарных и богатых.