How can I search for a character the displays as <85> in Vim?
Question
I have a file that was converted from EBCDIC to ASCII. Where there used to be new lines there are now characters that show up as <85> (a symbol representing a single character, not the four characters it appears to be) and the whole file is on one line. I want to search for them and replace them all with new lines again, but I don't know how.
I tried putting the cursor over one and using * to search for the next occurrence, hoping that it might show up in my / search history. That didn't work. It just searched for the word that followed the <85> character.
I googled around some, but didn't see anything obvious.
My goal is to build a search and replace string like:
:%s/<85>/\n/g
Which currently just gives me:
E486: Pattern not found: <85>
Thanks!
Solution
I found this post from a google search. Seems like you should be able to do:
:%s/\%x85/\r/gc
(Omit the c
to do the replacement without prompting, try with c
first to make sure it is doing what you want it to do.)
In vim, typing :h \%x
gives more details. In addition to \%x
, you can use \%d
, \%o
, \%u
and \%U
for decimal, octal, up to four and up to eight hexadecimal characters.
OTHER TIPS
try this: :%s/<85>/^M/g
note: press Ctrl-V together then M
or if you don't mind using another tool,
awk '{gsub("<85>","\n")}1' file