Bir vimscript işlevinde, l:matched
çağırdıktan sonra bir değişkene eşleşen bir dize atamanız gerekir search()
ve şu anda ne yaptığımdan daha kısa bir yol olup olmadığını merak ediyorum:
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)
İdeal olarak, şöyle bir şey istiyorum
let l:matched = search_text(l:pattern)
olmadan başvurmak getline()
. Bulamadığım bir vim işlevi var mı?
1
Ne yazık ki, cevap hayır.
—
Sato Katsura
protip: yerel değişkenler işlevlerin içindeki varsayılan değerdir, bu nedenle muhtemelen
—
Peter Rincker
l:
ad alanı bildirimini kaldırabilirsiniz .
bir işlevde şunları yapabilirsiniz:
—
Christian Brabandt
:let @/="pattern" | norm! ygn
ve 0 kaydındaki içeriğin kullanılabilir olmasını sağlayın.