você está aqui: Home  → Arquivo de Mensagens

Substituição de Caracteres Não-Imprimíveis com Vim

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 07 de maio de 2010

Para criar os documentos da Dicas-L, às vezes eu tenho que copiar arquivos que são criados em editores de textos. Ao copiar e colar o texto no editor vim, caracteres como abre aspas e fecha aspas, são representados por algo como "~S" e "~T". Embora a representação destes caracteres seja feita com dois caracteres, na verdade trata-se de apenas um.

Para substituir estes caracteres pelo que desejamos, precisamos primeiramente identificar o código binário destes caracteres. Fazemos isto posicionando o cursor sobre o caracter desejado e em seguida digitamos ga.

Como exemplo, ao posicionarmos o cursor sobre o caractere "c", e digitarmos ga, temos, no rodapé do vim, a seguinte informação:

  <c>  99,  Hex 63,  Octal 143

Primeiramente, temos o caractere, c, em seguida a representação decimal (99), a representação hexadecimal (63) e por fim a representação octal (143)

Podemos fazer isto com qualquer caractere do texto. Para substituir este caractere por outro, executamos o seguinte comando:

  %s/\%x63/A/g

O comando acima irá substituir todos os caracteres "c" pelo caractere "A".

Isto pode ser feito para qualquer caractere, até os não imprimíveis. Note que no exemplo eu utilizei o formato hexadecimal, indicado pela letra "x" antes do código do caractere. Eu poderia ter usado o formato decimal:

  %s/\%d99/A/g

ou octal:

  %s/\%o143/A/g

Referência: Find & Replace non-printable characters in vim



 

 

Veja a relação completa dos artigos de Rubens Queiroz de Almeida

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script