GVIM إظهار عودة النقل (^ م) حتى عندما يكون وضع الملف بصراحة DOS
-
18-09-2019 - |
سؤال
أنا أستخدم GVIM على Windows. يعرض التعليمات البرمجية الخاصة بي ^M
الشخصيات في نهاية الخطوط. انا إستعملت :set ff=dos
ولكن دون جدوى. ال ^M
تبقى الشخصيات للخطوط الموجودة، ولكن لا تظهر للحصول على خطوط جيولايت، أدخلها. لقد تحولت أوضاع إلى ماك (العروض ^J
الشخصيات) و UNIX (يظهر أيضا ^M
الشخصيات) والعودة إلى dos. هل راى احد اخر هذا؟
المحلول
يحدث هذا عندما يكون لديك مزيج من نهايات خط Windows و UNIX منها. إذا كان لديك 100 خطوط، 99 هي r n و ONE N، سترى أحرف 99 ^ م. الإصلاح هو العثور على هذا السطر واحد واستبداله. أو تشغيل dos2unix على الملف. يمكنك استبدال نهايات خط Windows مع:
:%s/\r\(\n\)/\1/g
نصائح أخرى
عادة ما أستخدم ما يلي لتنظيف نهايات خطي:
:g/^M$/s///
للحصول على CTRL-M، عادة ما اكتب CTRL-Q، ثم CTRL-M وتضعها فيها. (في بعض البيئات قد يكون ctrl-v ثم ctrl-m) أنا لا أعرف لماذا، لكنني أجد ذلك واحد أسهل أن نتذكر من برق'س.
لا تنسى أن تفعل :set ff=dos
كذلك، أو عليك أن ينتهي الحفظ مع نهايات خط يونيكس لا يزال.
أعلم أن هذا قد تم الرد عليه بالفعل، ولكن خدعة أستخدمها هي
:%s/\r/\r/g
يستبدل هذا إرجاع حرف UNIX مع Windows CRLF. إضافة فقط في حالة أي شخص آخر لديه مشاكل.
يمكنك تجاهل هذه الأحفير!
ضع هذا في vimrc الخاص بك
تطابق تجاهل / r $ /
في الواقع ما كان يعمل بالنسبة لي (على Windows 64 بت، GVIM: 7.2) كان:
:set ffs=dos
ليس فقط: FF
تشغيل VIM 7.3 على Windows 7. استخدمت الأمر التالي:
:%s/^M/\r/g
لإنشاء ^ Mi تمت كتابته في CTRL + Q ثم CTRL + M.
ربما هذا بسيط بعض الشيء بالنسبة لكثير منكم ولكن على فرصة قبالة فهو مفيد.
بناء على إجابة Richq، وجدت هذه مفيدة في Vimrc. ملاحظة، يتم تعليق المرء الثاني بشكل طبيعي لأنه يجعل DD مربكة بعض الشيء لأن VIM سوف ينتظر ضربة أساسية أخرى للعمل إذا كانت الأمر السابقين السابقين.
وظيفة! D2U () تنفيذ '٪ s / r ( n ×) / 1 / g' endfunction "خريطة D2U:٪ s / r ( n ) / 1 / g
الأول يتم تشغيله عن طريق الكتابة call D2u()
في السابق والثاني بالضغط D2u
في وضع التحرير.
هذه هي نهايات خط CR إضافية عادة بسبب استخدام ملف على أنظمة UNIX / DOS المختلطة.
ممكن أقصر إجابة لإزالة واحدة ^ م من نهاية كل سطر، وما أستخدمه، هو:
:%s/\r
وهو ما يعادل:
:%s/\r//
لكن الخطط النهائية غير مطلوبة (يفترض أنها).
حاول الكثير من الأشياء ولكن العمل التالي
:%s/\r/\r/g
ملاحظة: استخدم جيم إذا كنت تريد التأثير على الملف بأكمله