vim encuentra buffer por ruta absoluta

vim encuentra buffer por ruta absoluta

¿Cómo puedo encontrar un búfer en vimscript cuando tengo una ruta absoluta y, como usted sabe, los nombres de los búfer de vim pueden ser una ruta relativa? ¿Existe una función para eso?

Respuesta1

La bufnr()función puede encontrar buffers (y devolver su número). Por ejemplo bufname(), esto puede tomar el nombre del búfer consultado de varias 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.

Entonces, un ejemplo sería

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

Además, puede convertir entre rutas relativas y absolutas mediante la fnamemodify()función.

información relacionada