sábado, 7 de fevereiro de 2009

Filtrando linhas do buffer para um programa externo

Você pode passar linhas no buffer para um programa do shell processar. Esse
programa é conhecido como 'filtro'.
A saída do filtro é enviada de volta ao Vim que a coloca no lugar das linhas enviadas.

Use o comando:
!{movimento}{filtro}
Por exemplo, classificando as linhas de 1 a 10:
Coloque o cursor na 1ª linha.
!10Gsort<Enter>
'!' diz que ocorrerá um filtro, '10G' passando a linha até a linha 10, 'sort' é
o filtro.
O Vim coloca o cursor na linha de comando com o intervalo correspondente ao
movimento:
.,.5!sort.
A saída do filtro substitui as linhas enviadas.

No modo visual, selecione o texto e pressione '!'. O Vim colocará na linha de
comando:
'<,'>!
O comando '!' sempre trabalha com linhas inteiras, mesmo que
você faça seleção de bloco por exemplo.

O comando:
!!{filtro}
Passa a linha corrente para o filtro e são substituídas ao retornar.

Por exemplo, colocar uma lista de arquivo de um diretório em um arquivo.
Posicione o cursor em uma linha vazia.
!!ls
Colocando a data do computador no arquivo:
!!date
Outra forma, usa intervalos diretamente:
:{intervalo}!{filtro}
Exemplo, classificando 5 linhas:
:1,5!sort

0 comentários:

Postar um comentário