อีกวิธีหนึ่งขึ้นอยู่กับกรณีการใช้งานของคุณจะใช้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
คำสั่ง