Я пытаюсь написать функцию в Vim, которая ищет текущий буфер для определенного шаблона и возвращает его. Но я терпеть неудачу. В общем, что я хочу, это функция, которая возвращает (PHP) пространство имен файла я работаю в пространство имен определяется в самом файле:.Vim: Как написать функцию, которая ищет текущий буфер?
namespace Foo\Bar;
То, что я хотел бы это функция, которая возвращает Foo\Bar
часть как строка. То есть что-то, что ищет, как /namespace\s\([^;]\+\)
, и возвращает первый профайл.
Edit: Вот функция я строю благодаря помощи я получил:
func! PhpNamespace()
let l:lnr = 0
while l:lnr < line('$')
let l:str = matchstr(getline(l:lnr), '^\s*namespace\s\+[^;]\+')
if len(l:str)
return substitute(l:str, '^\s*namespace\s\+', '', '')
endif
let l:lnr = l:lnr + 1
endwhile
return ''
endfunc
Спасибо! Это привело меня к правильному пути. –
Отлично! Ваше решение выглядит хорошо для меня; престиж для публикации; ты профессионал! –