當我有絕對路徑時,如何在 vimscript 中找到緩衝區,並且如您所知,vim 緩衝區名稱可以是相對路徑?有這樣的功能嗎?
答案1
此bufnr()
函數可以找到緩衝區(並傳回其編號)。與 一樣bufname()
,這可以採用多種形式來取得查詢的緩衝區名稱(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.
所以,一個例子是
:echo bufnr('^C:\path\to\file.txt$')
fnamemodify()
此外,您還可以透過該函數在相對路徑和絕對路徑之間進行轉換。