У функції 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
На жаль, відповідь - ні.
—
Сато Кацура
protip: локальні змінні є типовою функцією всередині функцій, тому ви, ймовірно, можете відмовитись від
—
Пітер Рінкер
l:декларації простору імен.
у функції, яку ви, ймовірно, можете виконувати:
—
Крістіан Брабандт
:let @/="pattern" | norm! ygnі мати вміст у регістрі 0 доступним.