我需要清理一個文件。我們有一個運行於其上的xml解析器,由於文件中的轉義字符(0x1B)而失敗。我如何使用vim來查找文件中的哪個字符,以便我可以將其刪除?使用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^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@>
我不確定需要多少細節。不要打擾切換到十六進制表示。 Vim會顯示一個轉義字符爲'^ ['。使用我的任一種方法搜索它,並用光標將其刪除,使用'x'。 – Nefrubyr 2010-02-15 14:50:42
對於後人:nerfrubyr的評論是關於我要求澄清時刪除的評論。原來我輸錯了一些東西。這兩個想法對此都很有幫助。 – 2010-02-15 21:03:33
對於那些將映射爲「粘貼」(例如,Windows gvim上的默認值)的注意事項:您需要用代替以對控制字符執行相同的技巧。 –
Chris
2012-03-30 22:39:44