Ir para o conteúdo

Inserindo linha antes e depois

Suponha que se queira um comando, considere ,t, que faça com que a linha indentada corrente passe a ter uma linha em branco antes e depois; isto pode ser obtido pelo seguinte mapeamento:

:map ,t <Esc>:.s/^\(\s\+\)\(.*\)/\r\1\2\r/g<cr>
Explicando:

Comando Descrição
: entra no modo de comando
map ,t mapeia ,t para a função desejada
<Esc> ao executar sai do modo de inserção
s/isto/aquilo/g substitui isto por aquilo
: inicia o modo de comando
. na linha corrente
s substitua
^ começo de linha
\s\+ um espaço ou mais (barras são escapes)
.* qualquer coisa depois
\(grupo\) agrupa um trecho para referenciar com \1
\1 repete na substituição o grupo 1
\r insere uma quebra de linha
g em todas as ocorrências da linha
<cr> Enter