سؤال

هل هناك طريقة للبحث عن سلاسل متعددة في وقت واحد في Vim؟أتذكر أنني قرأت في مكان ما أنه كان ذلك ممكنًا ولكن بطريقة ما نسيت هذه التقنية.

على سبيل المثال، لدي ملف نصي وأريد البحث عن "foo" و"bar" في الوقت نفسه (ليس بالضرورة كسلسلة واحدة، بل يمكن أن يكون في أسطر مختلفة تمامًا).

كيف أحقق ذلك؟

هل كانت مفيدة؟

المحلول

/^joe.*fred.*bill/          : find joe AND fred AND Bill (Joe at start of line)
/fred\|joe                  : Search for FRED OR JOE

نصائح أخرى

في الواقع، لقد وجدت الإجابة بعد فترة وجيزة من نشر هذا (نعم، لقد بحثت في Google سابقًا ولكن لم أتمكن من تحديد موقعه.ربما كان مجرد البحث خطأ)

الحل الصحيح هو

/(فو\|بار)

@ بول بيتس:يجب الهروب من الأنبوب

يدعم Vim التعبيرات العادية من خلال البدء في وضع الأوامر باستخدام "/".

لذا فإن استخدام شيء مثل "/(foo\|bar)" (كما ذكرنا سابقًا) من شأنه أن يحل المشكلة.من الجيد أن تعرف سبب نجاح ذلك وما الذي تستخدمه (التعبيرات العادية).

/(foo|bar)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top