द्वारा खोजने के लिए vim का उपयोग करें मुझे एक फ़ाइल साफ़ करने की आवश्यकता है। हमारे पास एक एक्सएमएल पार्सर है जो उस पर चलता है जो फाइल में एस्केप कैरेक्टर (0x1B) के कारण विफल हो रहा है। मैं यह जानने के लिए विम का उपयोग कैसे करूं कि उस चरित्र में फ़ाइल कहां है, इसलिए मैं इसे हटा सकता हूं?हेक्स कोड
उदाहरण फ़ाइल:
<?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
तो मैं एक चार को हटा दें: (, "एच" इस उदाहरण में)
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^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@>
मुझे यकीन नहीं है कि कितना अधिक विस्तार की आवश्यकता है। हेक्स प्रतिनिधित्व में स्विचिंग परेशान मत करो। विम एक भागने वाले चरित्र को '^ ['' के रूप में दिखाएगा। मेरे तरीकों का उपयोग करके इसके लिए खोजें और, कर्सर के साथ, इसे 'x' का उपयोग करके हटाएं। – Nefrubyr
वंशावली के लिए: nerfrubyr की टिप्पणी स्पष्टीकरण के लिए पूछे जाने पर एक टिप्पणी के संबंध में थी। यह पता चला कि मैं कुछ गलत टाइप कर रहा था। इन दोनों विचारों के लिए महान काम करते हैं। –
उन लोगों के लिए नोट करें जिनके पास "पेस्ट" (उदाहरण के लिए विंडोज़ जीवीआईएम पर डिफ़ॉल्ट) के लिए मैप किया गया है: आपको के लिए नियंत्रण वर्णों के साथ एक ही चाल करने के लिए प्रतिस्थापित करने की आवश्यकता होगी। –
Chris