使用vim按hex代码search

我需要清理一个文件。 我们有一个运行在它上面的xmlparsing器,由于文件中的转义字符(0x1B)而失败。 我如何使用vim来查找文件中的哪个字符,以便我可以删除它?

示例文件:

<?php echo "Hello, world.\n"; ?> 

转换后:

 0000000: 0a3c 3f70 6870 0a65 6368 6f20 2248 656c .<?php.echo "Hel 0000010: 6c6f 2c20 776f 726c 642e 5c6e 223b 0a3f lo, world.\n";.? 0000020: 3e0a 

所以我删除一个char :(在这个例子中,'H')

 0000000: 0a3c 3f70 6870 0a65 6368 6f20 22 656c .<?php.echo "Hel 0000010: 6c6f 2c20 776f 726c 642e 5c6e 223b 0a3f lo, world.\n";.? 0000020: 3e0a 

注意第一行不够宽。 当我将其转换回来时,我得到:

 ^@<?php echo "el^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@> 

search(例如使用/ )为\%x1b

您还可以通过在CtrlV前面input控制字符(包括转义字符)到命令行中。 所以input/Ctrl-VEscEnter

通过执行[escape] :%!xxd将vim转换为hex编辑器。 然后search0x1B( /1B )。