อีกวิธีหนึ่งขึ้นอยู่กับกรณีการใช้งานของคุณจะใช้vimgrepและผลของมันในQuickFIX คุณสามารถทำสิ่งต่อไปนี้:
:vimgrep pattern %จะค้นหาไฟล์ปัจจุบันและนำคุณไปยังผลการค้นหาแรก ที่สำคัญยังทำให้ผลลัพธ์อยู่ใน "รายการแก้ไขด่วน"
:copenจากนั้นจะเปิดรายการแก้ไขด่วนในหน้าต่างแก้ไขด่วนแยกต่างหาก ดังนั้นคุณจะมีหน้าต่างแยกต่างหากโดยมีทุกบรรทัดจาก vimgrep สุดท้ายของคุณ ภายในหน้าต่าง Quickfix คุณสามารถกด Enter หรือดับเบิลคลิกที่บรรทัดเพื่อข้ามไปยังบรรทัดที่เกี่ยวข้องในไฟล์ต้นฉบับของคุณ
:colderจะช่วยให้คุณกลับไปที่รายการ Quickfix ที่เก่ากว่า (ผลลัพธ์ vimgrep ที่เก่ากว่า) และ:cnewerส่งต่อไปยังผลการค้นหาที่ใหม่กว่า
โปรดทราบว่ารายการ Quickfix ยังได้รับการอัปเดตเมื่อเรียกใช้:make(ซึ่งเป็นสาเหตุที่เรียกว่า Quickfix สำหรับแก้ไขข้อผิดพลาด) ด้วยเหตุนี้จึงมีการเปลี่ยนแปลงรายการแก้ไขด่วนที่เรียกว่า "รายการสถานที่ตั้ง" ที่จะใช้มันแทนคุณใช้:lvimgrepคำสั่งการใช้งานแล้ว L-นำหน้ามากกว่าคำสั่ง C-คำนำหน้า - :lopen, ,:lolder:lnewer
แน่นอนว่ามีอะไรอีกมากมายที่คุณสามารถทำได้ ดู:help quickfixข้อมูลเพิ่มเติม
ปล. คุณบอกว่าคุณไม่ต้องการแนวทางที่ลบบรรทัดแล้วเลิกทำ แต่เนื่องจากคุณทำเครื่องหมายเป็นคำตอบที่ฉันคิดว่าฉันจะชี้ให้เห็นวิธีที่รวดเร็วและสกปรกคือการทำg/ERROR จากนั้นคุณสามารถยกเลิกได้โดยใช้g!/ERROR/d uนอกจากนี้ FYI คุณสามารถทำได้:set hlsearchเพื่อเน้นรูปแบบที่ตรงกับ:gคำสั่ง