Como Heptite já escreveu, isso é básico. vimtutor
rules.
Caso você esteja curioso, aqui estão algumas maneiras um pouco "avançadas" de fazer o que você deseja. Supondo que seu cursor esteja na primeira linha do bloco que você deseja duplicar e você tenha set number
, todos os métodos abaixo levam ao mesmo resultado. É claro que é possível combinar suas partes individuais para atender às suas necessidades, isso é longe de ser uma lista exaustiva.
3yy/els<cr>p
3yy yank 3 lines starting with the current one
/els<cr> position the cursor on else
p put the content of the default register after the cursor
y2j7Gp
y2j yank until 2 lines below
7G move the cursor to line 7
p put the content of the default register after the cursor
3yy}P
3yy yank 3 lines starting with the current one
} place the cursor on the next blank line
P put the content of the default register before the cursor
V2j:t+3
V2j visually select linewise until 2 lines below
: enter command-line mode, a range is inserted for you
t+3 copy the selected lines after line (current line + 3)
:4,6t7
: enter command-line mode
4,6 the line numbers of the block you want to copy, see :help range
t7 copy those lines after line 7