ฉันมีดังต่อไปนี้ใน vimrc ของฉัน:
func! AddSpaceBeforeEqual()
s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge
endfunc
ฉันใช้vintเพื่อกำจัด vimrc ของฉันและได้รับคำเตือนต่อไปนี้:
ProhibitCommandWithUnintendedSideEffect หลีกเลี่ยงคำสั่งที่มีผลข้างเคียงที่ไม่ได้ตั้งใจ หลีกเลี่ยงการใช้: [ubstitute] ในขณะที่เลื่อนเคอร์เซอร์และพิมพ์ข้อความผิดพลาด ชอบฟังก์ชั่น (เช่นการค้นหา ()) ที่เหมาะสมกับสคริปต์ สำหรับคำสั่ง vim จำนวนมากฟังก์ชั่นมีอยู่ที่ทำสิ่งเดียวกันโดยมีผลข้างเคียงน้อย โปรดดู: ฟังก์ชั่นช่วยเหลือ () สำหรับรายการฟังก์ชั่นในตัว คู่มือสไตล์ Google Vimscript
อย่างไรก็ตามฉันไม่คิดว่าพวกเขาเป็นวิธีการทดแทนโดยไม่ต้องใช้:s
คำสั่ง
ตัวอย่างเช่นsearch()
ฟังก์ชันให้บรรทัดที่จับคู่รูปแบบ แต่ไม่มีวิธีการทดแทน substitute()
ฟังก์ชั่นดำเนินการในสตริงและไม่ทดแทนในไฟล์ทั้งหมด
ฉันควรใช้วิธีการทดแทนด้วยตัวเองหรือพวกเขาเป็นวิธีที่ชาญฉลาดในการเขียนฟังก์ชั่นของฉันใหม่?
:help function-search-undo