มีสองวิธีนี้สามารถทำได้วิธี vimscript บริสุทธิ์และwcวิธีการ
วิธีที่เป็นกลุ่มบริสุทธิ์
คุณสามารถใช้การค้นหาและแทนที่คำสั่งเพื่อทำสิ่งนี้ ตัวอย่างเช่น:
:%s/\<\w\{-}\>//gn
สิ่งนี้ทำแทนการแทนที่รูปแบบที่กำหนดด้วยบางสิ่งมันเพียงนับการเกิดขึ้นของรูปแบบ นี่เป็นเพราะnธง หากต้องการนับคำในส่วนเฉพาะ (ในกรณีนี้บรรทัดที่ 5 ถึง 15) คุณสามารถทำสิ่งนี้:
:5,15s/\<\w\{-}\>//gn
สิ่งนี้ทำให้ไม่จำเป็นต้องดึงเนื้อหาของสิ่งที่เลือกลงในทะเบียน หากต้องการดูความเป็นไปได้มากขึ้นสำหรับสิ่งที่สามารถวางในตำแหน่งของอ่านหัวข้อความช่วยเหลือสำหรับ5-15 cmdline-rangesหากคุณต้องการทำสิ่งนี้บ่อยครั้งอาจเป็นการดีที่จะสร้างการแมป (หรือคำสั่ง) ให้กับมัน นอกจากนี้หากคุณhlsearchเปิดใช้งานคุณอาจต้องการเรียกใช้:nohlsearchหลังจากนั้นเพื่อล้างการเน้นสี
wcวิธี
wcสิ่งเดียวที่สามารถทำได้ด้วย ในทำนองเดียวกันคุณสามารถใช้cmdline-rangesเพื่อเลือกพื้นที่ด้วย:sคำสั่งคุณสามารถใช้พื้นที่เหล่านั้นกับคำสั่งภายนอก ตัวอย่างเช่น:
:5,15!wc -w
สิ่งนี้รันบรรทัด 5 ถึง 15 ผ่านwcคำสั่ง ข้อเสียของสิ่งนี้คือมันแทนที่ช่วงของบรรทัดนั้นด้วยเอาต์พุตของคำสั่ง uคุณสามารถยกเลิกการเปลี่ยนแปลงนี้ได้โดยการกด นอกจากนี้โปรดทราบว่าโซลูชัน vimscript อาจไม่ทำงานกับภาษาที่แตกต่างกันเนื่องจาก\wไม่ตรงกับสิ่งที่ปกติจะเป็นอักขระคำในภาษาอื่น อาจจะดีกว่าที่กว่านี้wc \wนอกจากนี้ต่อไปนี้เป็นคำสั่งแฟนซีเพื่อให้ทำสิ่งนี้ได้เร็วขึ้น:
command -range=% -addr=lines WordCount execute '<count>!wc -w' | .y a | undo | echo @a
โปรดทราบว่าสิ่งนี้จะขัดขวางการaลงทะเบียน
บันทึก
ปรากฏว่าสิ่งนี้สามารถทำได้ในโหมดภาพด้วยการg<C-g>รวมคีย์ ดูคำตอบของ Carpetsmoker สำหรับคำอธิบายนี้