นี่เป็นปัญหาที่ฉันเพิ่งพบเมื่อไม่นานมานี้ ฉันมีไฟล์ที่มีข้อความหลายร้อยบรรทัด ฉันจะค้นหาสตริงระหว่างหมายเลขบรรทัดสองหมายเลขได้อย่างไร เช่นฉันต้องการค้นหาระหว่างหมายเลขบรรทัด 100 และ 325
นี่เป็นปัญหาที่ฉันเพิ่งพบเมื่อไม่นานมานี้ ฉันมีไฟล์ที่มีข้อความหลายร้อยบรรทัด ฉันจะค้นหาสตริงระหว่างหมายเลขบรรทัดสองหมายเลขได้อย่างไร เช่นฉันต้องการค้นหาระหว่างหมายเลขบรรทัด 100 และ 325
คำตอบ:
:100,235g/foo/#<CR>
จากนั้นกด:147<CR>เพื่อข้ามไปยังบรรทัดที่ต้องการ
คุณยังสามารถใช้:ilist:
:100,235il foo<CR>
ดู:help range, และ:help :global:help :ilist
มีวิธีการค้นหาระหว่างบรรทัดเฉพาะ
/%>{linenumber}l\%<{linenumber}{pattern}
ตัวอย่าง:
/%>199l\%<300lgood
สิ่งนี้จะค้นหาจากบรรทัด 200 ถึง 299 สำหรับรูปแบบ 'ดี'
%>199l - l is for line, >199 denotes the lines greater than 199
100GV325G<esc>
/\v%Vpattern
100GV325G<esc>มองเห็นเส้นที่เลือกได้ตั้งแต่ 100 ถึง 325 กลับไปที่normalโหมด/\v%Vpatternใช้:h /\%Vเพื่อ จำกัด ช่วงการค้นหาไปยังพื้นที่ภาพล่าสุดหากรูปแบบของคุณมีการขึ้นบรรทัดใหม่คุณต้องเพิ่มอีกอัน\%Vเพื่อ จำกัด การสิ้นสุดของรูปแบบในพื้นที่ภาพ:
100GV325G<esc>
/\v%Vpattern%V
:h /\%Vบางครั้งคุณต้องค้นหาสัญลักษณ์ที่กำหนดภายในฟังก์ชัน / วิธี
void f(bool b)
{
b;
b;
}
void g(bool b)
{
b;
b;
b;
b;
}
เพื่อที่จะค้นหาbในf()เท่านั้น:
{ของf()Vf()ด้วย '%'il bเพื่อรับ
:'<,'>il bหลังจาก<CR>(Enter) คุณจะได้รับ
b.cpp
1: 15 b;
2: 16 b;
Press ENTER or type command to continue
%และโหมดภาพสามารถพบว่ามีประโยชน์ ประการที่สองไม่จำเป็นต้องใส่ช่วงของเส้นอย่างชัดเจน
ilist