vim encontra buffer por caminho absoluto

vim encontra buffer por caminho absoluto

Como posso encontrar um buffer no vimscript quando tenho um caminho absoluto e, como você sabe, os nomes dos buffers do vim podem ser um caminho relativo? Existe uma função para isso?

Responder1

A bufnr()função pode encontrar buffers (e retornar seu número). Da mesma forma bufname(), isso pode assumir o nome do buffer consultado de várias formas (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
  pattern.

Então, um exemplo seria

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

Além disso, você pode converter entre caminhos relativos e absolutos por meio da fnamemodify()função.

informação relacionada