ในฟังก์ชั่น vimscript ฉันต้องกำหนดสตริงที่จับคู่ให้กับตัวแปรl:matched
หลังจากการโทรsearch()
และฉันสงสัยว่ามีวิธีที่สั้นกว่าสิ่งที่ฉันกำลังทำอยู่:
let l:pattern = '\v^Foo: \zs.*'
let l:line = search(l:pattern)
let l:line_text = getline(l:line)
let l:matched = matchstr(l:line, l:pattern)
เป็นการดีที่ฉันต้องการบางสิ่งบางอย่าง
let l:matched = search_text(l:pattern)
withouth getline()
หันไป มีฟังก์ชั่นที่เป็นกลุ่มที่ฉันดูเหมือนไม่สามารถหาได้หรือไม่?
1
น่าเศร้าคำตอบคือไม่
—
Sato Katsura
protip: ตัวแปรท้องถิ่นเป็นค่าเริ่มต้นภายในฟังก์ชั่นดังนั้นคุณอาจทิ้งการ
—
Peter Rincker
l:
ประกาศเนมสเปซได้
ในฟังก์ชั่นที่คุณสามารถทำได้:
—
Christian Brabandt
:let @/="pattern" | norm! ygn
และมีเนื้อหาใน register 0 ที่พร้อมใช้งาน