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