O comando global "g"
O comando global “g”
Buscando um padrão e gravando em outro arquivo:
:'a,'b g/^Error/ . w >> errors.txt
:set nu ..... habilita numeração
:g/Error/p .. apenas mostra as linhas correspondentes
:g/padrão/\#
.
numerar linhas:
:let i=1 | g/^/s//\=i."\t"/ | let i=i+1
:%s/^/\=line('.').' '
: ............ comando
% ............ em todo o arquivo
s ............ substituição
/ ............ inicio da busca
^ ............ começo de linha
/ ............ inicio da substituição
\=line('.') .. corresponde ao nº da linha atual
.' ' ........ concatena um espaço após o nº
:g/^Error/ copy $
:h co
:g/padrao/+put!
:g/padrao/.put='teste'
:g/fred/,/joe/s/isto/aquilo/gic
Pegar caracteres numéricos e jogar no final do arquivo:
:g/^\d\+.*/m $
:g/^/m0
:g/Line commented/d
:g/^\s*#/d
:g/pattern/ normal "Ayy
:g/padrão/;+1 copy $
:v/dicas/d ..... deleta linhas que não contenham `dicas'
:.,20g/^\d/exe "normal! \<c-a>"
:g/^Chapter/t.|s/./-/g
: ........ comando
g ........ global
/ ........ inicio de um padrão
^ ........ começo de linha
Chapter .. palavra literal
/ ........ fim do parão
t ........ copia
. ........ linha atual
s ........ substitua
/ ........ inicio de um padrão
. ........ qualquer caractere
/ ........ início da substituição
- ........ por traço
/ ........ fim da substituição
g ........ em todas as ocorrências