Если новый столбец будет иметь одно и то же значение в каждой строке (т. Е. Ваш начальный янк был в одной строке), то, вероятно, проще просто визуально заблокировать, выбрав пространство между столбцом имени пользователя и пароля и введите A
(или I
) начать добавление (вставку). Когда вы вернетесь в обычный режим (Esc
), Vim также добавит текст к остальной части исходного выделения.
Если вам действительно нужно сделать повторяющийся шаблон, то вы можете использовать функцию и отображение следующим образом:
:function! PutRegFilledToRange() range
: let l:fill = ''
: let l:lines = getreg()
: let l:lineStart = 0
: let l:linesLen = strlen(l:lines)
: let l:lineIndex = 0
: let l:linesNeeded = a:lastline - a:firstline + 1
: while l:lineIndex < l:linesNeeded
: let l:lineEnd = matchend(l:lines, "\n\\|$", l:lineStart)
: let l:line = strpart(l:lines, l:lineStart, l:lineEnd - l:lineStart)
: if l:lines[l:lineEnd - 1] != "\n"
: let l:line = l:line . "\n"
: endif
: let l:fill = l:fill . l:line
: let l:lineStart = l:lineEnd < l:linesLen ? l:lineEnd : 0
: let l:lineIndex = l:lineIndex + 1
: endwhile
:
: normal gv
: " This probably does not make much sense in any mode
: " other than block modes, but we will try to cope.
: if mode() == "\<C-V>" || mode() == "\<C-S>"
: let l:newMode = "\<C-V>"
: elseif mode() == 'v' || mode() == 's'
: let l:newMode = 'v'
: else
: let l:newMode = 'V'
: endif
: let l:origReg = getreg('')
: let l:origRegType = getregtype('')
: try
: call setreg('', l:fill, l:newMode)
: execute 'normal ' . v:count1 . 'p'
: finally
: call setreg('', l:origReg, l:origRegType)
: endtry
:endfunction
:vmap _f :call PutRegFilledToRange()<CR>
Вставьте ваш .vimrc или какой-нибудь другой файл (и запустите:source /path /to /file). Или вставьте его прямо в сеанс Vim.
Чтобы использовать это:
C-V{motion}y
: визуально заблокировать выделение и восстановить текст, который вы хотите использовать для многократного ввода
{motion}C-V{motion}
: выберите блок, который вы хотите заменить
_f
: заполнить выделенный блок повторяющимися строками текущего регистра ("a_f
заполняет блок строками из регистра a)