Como posso procurar um personagem os displays como <85> no vim?
Pergunta
Eu tenho um arquivo que foi convertido do EBCDIC para ASCII. Onde costumava haver novas linhas, agora existem caracteres que aparecem como <85> (um símbolo que representa um único caractere, não os quatro caracteres que parece ser) e todo o arquivo está em uma linha. Quero procurá -los e substituí -los todos por novas linhas novamente, mas não sei como.
Tentei colocar o cursor sobre um e usar * para procurar a próxima ocorrência, esperando que ele apareça no meu histórico de pesquisa / pesquisa. Isso não funcionou. Ele apenas procurou a palavra que seguiu o personagem <85>.
Pesquisei em torno de alguns, mas não vi nada óbvio.
Meu objetivo é construir uma pesquisa e substituir string como:
:%s/<85>/\n/g
Que atualmente me dá:
E486: Pattern not found: <85>
Obrigado!
Solução
eu encontrei esta postagem de uma pesquisa no Google. Parece que você deve ser capaz de fazer:
:%s/\%x85/\r/gc
(Omita o c
Para fazer a substituição sem avisar, tente com c
primeiro a se certificar de que está fazendo o que você quer fazer.)
Em vim, digitando :h \%x
fornece mais detalhes. Além de \%x
, você pode usar \%d
, \%o
, \%u
e \%U
Para decimal, octal, até quatro e até oito personagens hexadecimais.
Outras dicas
Experimente isso: :%s/<85>/^M/g
Nota: Pressione Ctrl-V juntos então M
Ou se você não se importa de usar outra ferramenta,
awk '{gsub("<85>","\n")}1' file