Wie kann ich einen Puffer in Vimscript finden, wenn ich einen absoluten Pfad habe und wie Sie wissen, können Vim-Puffernamen relative Pfade sein? Gibt es dafür eine Funktion?
Antwort1
Die bufnr()
Funktion kann Puffer finden (und deren Nummer zurückgeben). Wie bufname()
kann diese den abgefragten Puffernamen in mehreren Formen annehmen (vgl. :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.
Ein Beispiel wäre
:echo bufnr('^C:\path\to\file.txt$')
Außerdem können Sie über die fnamemodify()
Funktion zwischen relativen und absoluten Pfaden konvertieren.