Как я могу выполнить поиск по символу, который отображается как <85> в Vim?
Вопрос
У меня есть файл, который был преобразован из 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