Как я могу искать символ дисплеи как <85> в Vim?

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

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

Я погуглил вокруг некоторых, но не видел ничего очевидного.

Моя цель состоит в том, чтобы создать строку поиска и строку замены как:

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

Который в настоящее время просто дает мне:

E486: Pattern not found: <85>  

Спасибо!

18
задан Thomas G Henry 18 January 2010 в 16:13
поделиться

2 ответа

Я нашел этот пост из поиска Google. Похоже, вы должны быть в состоянии сделать:

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

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

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

25
ответ дан 30 November 2019 в 08:52
поделиться

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

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

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

awk '{gsub("<85>","\n")}1' file
-4
ответ дан 30 November 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: