在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)
没有诉诸getline()
。有没有我似乎找不到的vim函数?
1
可悲的是,答案是否定的。
—
佐藤桂2015年
提示:局部变量是函数内部的默认值,因此您可以放弃
—
彼得·林克
l:
命名空间声明。
在一个函数中,您可能可以执行以下操作:
—
Christian Brabandt
:let @/="pattern" | norm! ygn
并使寄存器0中的内容可用。