Вы можете сделать это с помощью макроса и применить его к нескольким файлам.
Вот один пример. Введите следующее как есть:
3gg$"ayiw:6,$s/^/<C-R>a/<CR>:w<CR>:bn<CR>
Теперь это выглядит ужасно. Дайте мне посмотреть, смогу ли я объяснить это немного лучше.
3gg$
: перейти к концу третьей строки.
"ayiw
: скопировать последнее слово в регистр a
.
:6,$s/^/<C-R>a/<CR>
: В каждой строке начиная с 6-го числа в начале заменить все, что есть в регистре a.
:w<CR>:bn<CR>
: сохранить и перейти к следующему буферу.
Теперь вы можете сопоставить это с ключом,
:nnoremap <C-A> 3gg$"ayiw:6,$s/^/<C-R>a/<CR>:w<CR>:bn<CR>
Тогда, если у вас, скажем, 200 CSV-файлов, вы открываете vim как
vim *.csv
, а затем
200<C-A>
Там, где вы набираете Ctrl-A, и все должно быть сделано.
Тем не менее, мне определенно было бы удобнее делать это на надлежащем языке сценариев, это было бы намного проще.