Trong hàm vimscript, tôi cần gán một chuỗi khớp với một biến l:matched
sau khi gọi search()
và tôi tự hỏi liệu có cách nào ngắn hơn những gì tôi hiện đang làm không:
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)
Lý tưởng nhất, tôi muốn một cái gì đó như
let l:matched = search_text(l:pattern)
withouth phải dùng đến getline()
. Có một chức năng vim như vậy mà tôi dường như không thể tìm thấy?
1
Đáng buồn thay, câu trả lời là không.
—
Sato Katsura
protip: các biến cục bộ là mặc định bên trong các hàm để bạn có thể từ bỏ
—
Peter Rincker
l:
khai báo không gian tên.
trong một chức năng bạn có thể có thể làm:
—
Christian Brabandt
:let @/="pattern" | norm! ygn
và có sẵn nội dung trong đăng ký 0.