Vim найти буфер по абсолютному пути
Как я могу найти буфер в vimscript, когда у меня есть абсолютный путь, и, как вы знаете, имена буферов vim могут быть относительным путем? Есть ли функция для этого?
1 ответ
bufnr()
Функция может найти буферы (и вернуть их номер). подобно bufname()
, это может принимать запрошенное имя буфера в нескольких формах (ср. :help bufname()
):
A full match is preferred, otherwise a match at the start, end or middle of the buffer name is accepted. If you only want a full match then put "^" at the start and "$" at the end of the pattern.
Итак, один пример будет
:echo bufnr('^C:\path\to\file.txt$')
Кроме того, вы можете конвертировать между относительными и абсолютными путями через fnamemodify()
функция.