سؤال
ولكي تعرف كيف مرات عديدة في نمط موجود في المخزن مؤقت الحالي ، أنا:
:%s/pattern-here/pattern-here/g
أنه يعطي عدد من الحوادث من نمط ، ولكن من الواضح مرهقة و أيضا له الآثار الجانبية من وضع 'تغيير' حالة.
هل هناك طريقة أكثر أناقة نحسب ؟
المحلول
لتجنب استبدال ، وترك الثانية نمط فارغة ثم إضافة "ن" العلم:
:%s/pattern-here//gn
هذا هو وصف مسؤول نصيحة.
نصائح أخرى
:help count-items
في همة 6.3 هنا هو كيف نفعل ذلك.
:set report=0
:%s/your_word/&/g # returns the count without substitution
في همة 7.2, هنا كيف يمكنك أن تفعل ذلك:
:%s/your_word/&/gn # returns the count, n flag avoids substitution
:!cat %| grep -c "pattern"
انها ليست بالضبط همة الأمر, ولكن سوف تعطيك ما تحتاجه من همة.
يمكنك تعيين ذلك أن الأمر إذا كنت بحاجة إلى استخدامها في كثير من الأحيان.
على vimscript IndexedSearch يعزز همة البحث الأوامر لعرض "في مباراة #ن من م المباريات".
ضع المؤشر على الكلمة التي تريد الاعتماد وتنفيذ التالية.
:%s/<c-r><c-w>//gn
انظر :h c_ctrl-r_ctrl-w
vimgrep هو صديقك هنا:
vimgrep pattern %
يظهر:
(1 of 37)
لا تنتمي إلى StackOverflow