grep เป็นกลุ่มสามารถทำให้เป็นกรณี ๆ ไปตามเงื่อนไขหรือไม่?


2

เมื่อฉันทำการค้นหาในเอกสารด้วย/หรือทำการค้นหาด้วย?ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เมื่อตัวอักษรพิมพ์ใหญ่ปรากฏในรูปแบบการค้นหาเนื่องจากการรวมกันของignorecaseและsmartcaseการตั้งค่า มีวิธีเลียนแบบพฤติกรรมนี้ด้วย:grepคำสั่งโดยไม่จำเป็นต้องเพิ่มการ-iตั้งค่าด้วยตนเองทุกครั้งหรือไม่?


ฉันสงสัยมันตั้งแต่คำสั่งใช้ภายนอกเครื่องมือและ AFAIK เครื่องมือที่ตัวเองไม่ได้มีคุณสมบัติดังกล่าว :grepgrepgrep
Kyle Strand

แต่นั่นไม่ได้หมายความว่าเป็นไปได้ของการแก้ปัญหา vimscript แฟนซีที่ไม่บางสิ่งบางอย่างที่จะตรวจสอบการโต้แย้งและการตรวจสอบกรณีของมัน แต่ผมไม่ทราบว่ามันเป็นไปได้หรือว่าจะทำอย่างไร
อเล็กซ์

เนื่องจากสิ่งนี้อาจมีประโยชน์นอก Vim เช่นกันวิธีแก้ปัญหาที่ดีกว่าอาจจะ (1) สร้างฟังก์ชั่น bash (หรือ zsh หรืออะไรก็ตาม) ที่ทำสิ่งนี้ให้สำเร็จ (2) ใช้shellcmdflagตัวเลือกในการโหลดฟังก์ชั่น แน่ใจว่าวิธีการทำเช่นนี้ แต่ผมค่อนข้างมั่นใจว่านั่นคือสิ่งที่ตัวเลือกสำหรับการ) และ (3) grepเรียกใช้ฟังก์ชันที่แทนขั้นพื้นฐาน (หรือคุณอาจใช้นามแฝงgrepกับฟังก์ชั่นใหม่ของคุณที่โทร\grepมา) หากคุณทำสิ่งนี้จบลงขอให้ฉันรู้ - ฉันสนใจที่จะเพิ่มเข้าไปในการตั้งค่าส่วนบุคคลของฉัน แต่มันไม่สำคัญสำหรับฉันที่ ช่วงเวลาที่.
Kyle Strand

ผมขอแนะนำให้คุณตรวจสอบซึ่งเป็นซุปเปอร์รวดเร็วและสะดวกสบายมากขึ้นเพื่อใช้แทนag grepมันมีคุณสมบัติที่คุณต้องการในหมู่คนอื่น ๆ แน่นอนมีปลั๊กอินสำหรับการรวมราบรื่นกับ Vim
taketwo

คำตอบ:


5

คุณอาจสนใจที่:vimgrepจะใช้นิพจน์ปกติของ Vim ในการจับคู่รูปแบบ ซึ่งรวมถึงการเคารพ'ignorecase'และตัวเลือกที่เกี่ยวข้องเว้นแต่คุณจะระบุไว้เป็นอย่างอื่นอย่างชัดเจน โดยเฉพาะถ้า " \c" ปรากฏในรูปแบบมันทำให้รูปแบบนั้นไม่สนใจตัวพิมพ์ใหญ่และ " \C" บังคับให้จับคู่ขนาดตัวพิมพ์ ดูที่:

:help :vimgrep
:help /\c

(ใช่การฟอร์เวิร์ด - และแบ็คสแลชนั้นเป็นส่วนหนึ่งของคำสั่ง: help)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.