Как искать символ, который отображается как ‹85› в Vim

У меня есть файл, который был преобразован из EBCDIC в ASCII. Там, где раньше были новые строки, теперь есть символы, которые отображаются как <85> (символ, представляющий один символ, а не четыре символа, как кажется), и весь файл находится в одной строке. Я хочу найти их и снова заменить их новыми строками, но я не знаю, как это сделать.

Я попытался навести курсор на одно и использовать * для поиска следующего вхождения, надеясь, что оно может появиться в моей / истории поиска. Это не сработало, он просто искал слово, следующее за символом <85>.

Я искал Google, но не видел ничего очевидного.

Моя цель - построить поиск и заменить строку, например:

:%s/<85>/\n/g   

Что в настоящее время просто дает мне:

E486: Pattern not found: <85>  

person Thomas G Henry    schedule 18.01.2010    source источник
comment
Вы можете нажать y<Space>, чтобы скопировать один символ.   -  person Josh Lee    schedule 02.02.2010


Ответы (3)


Я нашел "Найти и заменить не -печатаемые символы в vim" при поиске в Google. Кажется, вы должны быть в состоянии сделать:

:%s/\%x85/\r/gc

Опустите c, чтобы выполнить замену без запроса, попробуйте сначала с c, чтобы убедиться, что он делает то, что вы хотите.

В Vim ввод :h \%x дает более подробную информацию. В дополнение к \%x вы можете использовать \%d, \%o, \%u и \%U для десятичных, восьмеричных, до четырех и до восьми шестнадцатеричных символов.

person Alok Singhal    schedule 18.01.2010

Для поиска специальных символов, например, win1252, для случая <80>,<90>,<9d>... введите:

/\%u80, \/%u90, /\%u9d ...

от редактора.

Аналогично для восьмеричного, десятичного, шестнадцатеричного, введите: /\%oYourCode, /\%dYourCode, /\%xYourCode.

person 韓家軍大華府斗內團    schedule 23.04.2020

попробуй так: :%s/<85>/^M/g

примечание: одновременно нажмите Ctrl-V, затем M

или если вы не возражаете против использования другого инструмента,

awk '{gsub("<85>","\n")}1' file
person ghostdog74    schedule 18.01.2010
comment
\n не проблема. Это ‹85›. Спасибо хоть. - person Thomas G Henry; 18.01.2010
comment
‹85› — это один символ, а не строка из четырех символов ‹, 8, 5 и ›. - person Thomas G Henry; 18.01.2010
comment
эхо '------------------------------------------------ ------------------------- НАЧИНАТЬ ------------------------ -------------------------------------------------------------- 85 ›binDir=...и т.д., и т.д... - person Thomas G Henry; 18.01.2010