O comando global "g"
Buscando um padrão e gravando em outro arquivo:
:'a,'b g/^Error/ . w >> errors.txt
| Comando | Descrição |
|---|---|
:set nu |
habilita numeração |
:g/Error/p |
apenas mostra as linhas correspondentes |
Para mostrar as linhas correspondentes a um padrão, já numeradas, mesmo
que a numeração de linha não esteja habilitada, use
:g/padrão/#.
numerar linhas:
:let i=1 | g/^/s//\=i."\t"/ | let i=i+1
:%s/^/\=line('.').' '
| Comando | Descrição |
|---|---|
: |
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º |
Para copiar linhas começadas com Error para o final do arquivo faça:
: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
:.,20g/^\d/exe "normal! \<c-a>"
:g/^Chapter/t.|s/./-/g
| Comando | Descrição |
|---|---|
: |
comando |
g |
global |
/ |
inicio de um padrão |
^ |
começo de linha |
Chapter |
palavra literal |
/ |
fim do padrã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 |