How can I find a buffer in vimscript when I have an absolute path, and as you know vim buffer names can be relative path? Is there a function for that?

  • "related path" -> you mean "relative path"? – akira Jan 25 '15 at 19:37

The bufnr() function can find buffers (and return its number). Like bufname(), this can take the queried buffer name in several forms (cp. :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

So, one example would be

:echo bufnr('^C:\path\to\file.txt$')

Also, you can convert between relative and absolute paths via the fnamemodify() function.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.