คุณสามารถใช้คำสั่งgrepของ Vim เพื่อค้นหาไฟล์ทั้งหมดในโครงการของคุณ:
:grep! "\<<cword>\>" . -r
:copen
เรามาใส่ keybind:
nnoremap <F4> :grep! "\<<cword>\>" . -r<CR>:copen<CR>
ฉันพบว่าการค้นหาทั่วทั้งโครงการที่สำคัญนี้มีค่าเมื่อฉันสำรวจ codebase ที่ไม่คุ้นเคยขนาดใหญ่
\<
และ\>
เป็นลำดับ regexp ซึ่งระบุจุดเริ่มต้นและจุดสิ้นสุดของคำดังนั้นคุณจะไม่ได้รับการแข่งขันบางส่วน ( -w
ตัวเลือกสำหรับ grep อาจเป็นอีกวิธีหนึ่งในการบรรลุเป้าหมายนี้)
อย่างไรก็ตามนี่คือการค้นหาที่ไม่ฉลาดดังนั้นมันสามารถสร้างผลบวกปลอมหากคำเดียวกันปรากฏในบริบทที่ไม่เกี่ยวข้อง
ที่จริงแล้วฉันใช้ปลั๊กอิน grep.vim เวอร์ชันที่แก้ไขเองแทน นี่เป็นมิตรที่จะใช้:
- มันช่วยให้คุณแก้ไขรูปแบบการค้นหาและบรรทัดคำสั่ง grep (เพื่อให้คุณสามารถกำหนดเป้าหมายโฟลเดอร์เฉพาะเช่น
src/ lib/
แทนที่จะเป็น.
) และจดจำการเปลี่ยนแปลง
- ฉันจะเพิ่มการสนับสนุนของ Google csearch สิ่งนี้เร็วกว่า grep มากเพราะมันจะสร้างดัชนีของคำแทนที่จะสแกนแต่ละไฟล์ทุกครั้ง ยวด csearch ใช้มาตรฐาน regexp แตกต่างกันเล็กน้อยดังนั้น
\b
จะต้องนำมาใช้แทนและ\<
\>
ฉันจะกำหนดค่าและแยกไฟล์มาตรฐานบางอย่างเช่นนี้
สำหรับการเข้าถึงอย่างรวดเร็วฉันจะสร้างสอง keybinds F3ให้ฉันแก้ไข commandline F4ใช้ commandline ที่กำหนดไว้ก่อนหน้านี้โดยไม่ต้องกดแป้นพิเศษใด ๆ กลไกนั้นค่อนข้างน่าเกลียดและอาจใช้การล้างข้อมูลบางอย่าง แต่ก็ใช้ได้ดี