كيف يمكنني البحث عن شخصية العروض على أنها <85> في VIM؟
سؤال
لدي ملف تم تحويله من EBCDIC إلى ASCII. عندما يكون هناك خطوط جديدة ، توجد الآن أحرف تظهر على أنها <85> (رمز يمثل حرفًا واحدًا ، وليس الأحرف الأربعة التي يبدو أنها) والملف بأكمله على سطر واحد. أريد البحث عنهم واستبدالهم جميعًا بخطوط جديدة مرة أخرى ، لكنني لا أعرف كيف.
حاولت وضع المؤشر فوق واحد واستخدام * للبحث عن الحدوث التالي ، على أمل أن يظهر في تاريخ البحث الخاص بي. هذا لم ينجح. لقد بحثت للتو عن الكلمة التي اتبعت الحرف <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