Как я могу выполнить поиск по символу, который отображается как <85> в Vim?

StackOverflow https://stackoverflow.com/questions/2087290

Вопрос

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

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

Я немного погуглил, но не увидел ничего очевидного.

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

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

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

E486: Pattern not found: <85>  

Спасибо!

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

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

awk '{gsub("<85>","\n")}1' file
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top