De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


vi - Opcoes Magic e Nomagic (parte 2)

Colaboração: Fernando M. Roxo da Motta

Data de Publicação: 18 de Fevereiro de 2000

Uma outra forma de fazer isto é "escapar" o sentido "mágico" dos caracteres, o caráter que faz este "escape" é a barra invertida ( \ ). No exemplo acima teríamos :

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

Que faria a mesma função do "nomagic" para este evento do uso do padrão.

O mais interessante é que o caráter de "escape" pode fazer o papel contrário, por exemplo :

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

Esta seqüência procura por um parêntesis da direita no início da linha, seguido de uma seqüência de caracteres não brancos, seguido de um parêntesis da esquerda .... Bem, acho que dá para entender. Se "escaparmos" os parêntesis estaremos dando a eles um sentido "mágico". Neste caso eles serviriam de uma memória auxiliar para ser usado mais adiante *no mesmo comando*. Por exemplo :

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

Neste caso o 'vi' vai procurar por uma seqüência de caracteres não brancos a partir do início da linha, um espaço em branco e outra seqüência de não brancos. O interessante está na segunda parte, onde os caracteres "1" e "2" também estão "escapados". O "\1" significa "a primeira seqüência lembrada", e o "\2" significa "a segunda ... ". Resumindo, o comando acima vai inverter as duas primeiras colunas do arquivo.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Fernando M. Roxo da Motta