代码之家  ›  专栏  ›  技术社区  ›  David Oneill

使用vim通过十六进制代码进行搜索

  •  39
  • David Oneill  · 技术社区  · 15 年前

    我需要清理一个文件。我们有一个在其上运行的xml解析器,由于文件中的转义字符(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  
    

    所以我删除了一个字符:(在这个例子中,是'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^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@> 
    
    3 回复  |  直到 15 年前
        1
  •  64
  •   Hulk1991 moinudin    12 年前

    搜索(例如使用 \%x1b .

    您还可以通过在控制字符前面加上 Ctrl键 - . So类型 , , 电子稳定控制系统 .

        2
  •  13
  •   Alexander Gessler    15 年前

    通过执行以下操作将vim转换为十六进制编辑器 [escape] :%!xxd /1B ).

        3
  •  1
  •   d3jn    6 年前

    通过将光标放在字符上并按,可以发现字符的十六进制值 ga

    <╬> 性格

    <

    通过以下方式删除:

    %s/\%xce//g