เลือกผลการค้นหาปัจจุบัน


9

ฉันได้hlsearchตั้งค่าไว้ แต่บางครั้งมันก็ทำให้ฉันนึกถึงว่าฉันได้เลือกข้อความค้นหาไว้แล้วและสามารถกดcเพื่อเปลี่ยนได้

คำที่ค้นหาอาจไม่ใช่ตัวอักษรจำนวนคำแม้แต่บรรทัดอย่างง่าย ๆ และอย่างไรก็ตามฉันไม่ต้องการนับ

มีวิธีการvh(หรือch) พูดที่hทำงานจนกว่าการไฮไลต์ปัจจุบันหยุด?

คำตอบ:


14

คุณสามารถใช้การgnเคลื่อนไหวเพื่อเลือกองค์ประกอบการค้นหาถัดไป

คุณสามารถใช้มันได้เช่น:

/foo<CR>
gn            -> select the next "foo"
sbar<Esc>     -> (optional) substitute it with "bar"

โบนัส: หากต้องการ.ทำการค้นหาซ้ำและการเปลี่ยนแปลงให้ใช้ a cเพื่อทำทุกอย่างในคำสั่งเดียว:

/foo<CR>
cgnbar<Esc>
...           -> find and change the 3 next foo

1
Fantastic! ขอบคุณ (ใครก็ตามที่ชอบฉันคิดถึงทำไม.จะทำซ้ำการกระทำทั้งหมดและไม่สามารถทำงานได้ - อ่านเพิ่มเติมอย่างระมัดระวัง - cก่อน! ไม่สามารถขอให้ดีขึ้นได้)
OJFord

3
โปรดทราบว่าคุณยังสามารถใช้gNเพื่อเลือกการแข่งขันก่อนหน้านี้ด้วยภาพ
statox

ความแตกต่างระหว่างสิ่งนี้และเพียงแค่กดnเพื่อไปยังผลลัพธ์การค้นหาถัดไปคืออะไร
user1717828

มันทำการเปลี่ยนแปลงด้วยดังนั้นแทนที่จะทำซ้ำn.(เกิดขึ้นต่อไปทำซ้ำการแก้ไข) คุณสามารถกด.(ทำซ้ำการปรับเปลี่ยนซึ่งก็คือ "เปลี่ยนการเกิดขึ้นต่อไป")
nobe4

อันที่จริงเมื่อ.จะเรียกgnเดิมได้หายไปดังนั้นการค้นหาที่เป็นกลุ่มถัดไปfoo fooดังนั้นgnไม่สิ่งที่nจะต้องทำอยู่แล้ว (และอื่น ๆ ) แต่เช่นเดียวกับnโปรดทราบว่านี่จะทำงานได้ดีเมื่อbarไม่มีfoo!
joeytwiddle
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.