Как я могу найти буфер в vimscript, когда у меня есть абсолютный путь, и, как вы знаете, имена буферов vim могут быть относительным путем? Есть ли функция для этого?

1 ответ1

0

Функция 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() .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .