Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
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
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.



