Dicas para o editor vi
1 - Opcoes Magic/Nomagic
2 - Remocao de linhas em branco consecutivas
3 - Remocao de linhas em branco que contenham espacos ou tabulacoes
4 - Aplicar um mesmo conjunto de comandos a varios arquivos
5 - Abrir varios arquivos em uma mesma janela
6 - Examinando as diferencas entre arquivos
7 - Guia básico para o iniciante no vi
Opcoes Magic/Nomagic
Mensagem da Dicas-L


Diversos caracteres possuem um significado especial dentro do \cmd{vi},
como ``['', ``-'' e ``\*'', por exemplo. Quando estes caracteres fazem
parte da sequencia de caracteres sobre as quais se quer atuar, e mais
conveniente desligar esta caracteristica `magica' que possuem para que
se tornem caracteres comuns.

:%s/[a-z]123//g

com a opcao ``magic'' ativada ira atuar sobre qualquer palavra que comece
com uma letra no intervalo de `a'' ate ``z''. Com esta opcao desligada
o mesmo comando ira atuar sobre a cadeia de caracteres ``[a-z]123'',
exatamente como digitado.

Isto pode ser feito ativando a opcao ``\cmd{nomagic''}:

:set nomagic

Para fazer com que tudo volte ao normal, basta reativar a opcao
``\cmd{magic}'':

:set magic


Colaboracao: "Fernando M. Roxo da Motta" 

Uma outra forma de fazer isto e "escapar" o sentido "magico" dos
caracteres, o carater que faz este "escape" e a barra invertida ( \ ).  
No exemplo acima teriamos :

:%s/\[a-z\]123//g

Que faria a mesma funcao do "nomagic" para este evento do uso do padrao.

O mais interessante e que o carater de "escape" pode fazer o papel
contrario, por exemplo :

:%s/^([^ ]*) ([^ ]*)/2 1/

Esta sequencia procura por um parentesis da direita no inicio da linha,
seguido de uma sequencia de caracteres nao brancos, seguido de um
parentesis da esquerda ....   Bem, acho que da para entender.   Se
"escaparmos" os parentesis estaremos dando a eles um sentido "magico".
Neste caso eles serviriam de uma memoria auxiliar para ser usado mais
adiante *no mesmo comando*.  Por exemplo :

:%s/^([^ ]*) ([^ ]*)/\2 \1/

Neste caso o 'vi' vai procurar por uma sequencia de caracteres nao brancos
a partir do inicio da linha, um espaco em branco e outra sequencia de nao
brancos.  O interessante esta na segunda parte, onde os caracteres "1" e
"2" tambem estao "escapados".  O "\1" significa "a primeira sequencia
lembrada", e o "\2" significa "a segunda ... ".   Resumindo, o comando
acima vai inverter as duas primeiras colunas do arquivo.
---------------------------------------------------------------

Remocao de linhas em branco consecutivas
Mensagem da Dicas-L
Faz tempo que eu não mando dicas sobre o meu editor favorito,
o vi. Resolvi então mandar mais alguma coisa porque alguns
rumores começaram a aparecer de que eu estava me tornando
adepto do emacs, o que eu nego enfaticamente. ;-)

Então vamos lá. Para remover linhas em branco consecutivas
de um arquivo, basta emitir o comando:

:v/./.,/./-1join

E para remover todas as linhas em branco de um arquivo:

:v/./d 

ou ainda

:g/^$/d

------------------------------------------------------------------------

Colaboração: Paulo Roberto [paulo@ieav.cta.br]

Para remover linhas em branco que não sejam vazias, mas que
contenham espaços ou tabulações, emitir o comando

:g/^[ ^I]*$/d
------------------------------------------------------------------------

Para aplicar um mesmo conjunto de comandos a varios arquivos

Edite um arquivo, por exemplo, comandos.vi
e coloque neles os comandos desejados. Nao coloque o caracter dois pontos antes deles.

Abra cada arquivo a ser aplicado o conjunto de comandos e execute o comando
:so caminho/comandos.vi

------------------------------------------------------------------------

Para editar varios arquivos em uma mesma janela

  vim -o arquivo_1.txt arquivo_2.txt


Este comando abre as janelas de edição na vertical. Se preferirmos
o contrário, as janelas de edição na vertical, devemos fazer:


  vim -O arquivo_1.txt arquivo_2.txt


A diferença é a diretiva  -o ou -O (letra o grafada
em minúsculo e maiúsculo.

Uma vez aberto o editor com os dois arquivos, para alternar entre
uma janela e outra, digite  w w (pressione a tecla 
e em seguida a tecla w duas vezes).

É um recurso extremamente útil, especialmente para quem precisa
realizar alterações em um arquivo e ao mesmo tempo confrontá-lo
com o arquivo original.

Na verdade voce pode editar quantos arquivos quiser desta forma.
Eu forneci o nome de dois arquivos, mas voce pode especificar
quantos desejar:

------------------------------------------------------------------------



Usando o vi para examinar diferenças entre arquivos

  vimdiff
  =======

Um outro recurso fantástico do vim, que também utiliza múltiplas janelas,
é o comando vimdiff.

O comando


  vimdiff arquivo1.txt arquivo2.txt


irá abrir os dois arquivos, lado a lado, com as diferenças em
texto destacado.

------------------------------------------------------------------------



Guia básico do iniciante no vi

Execute o comando vimtutor