絶対パスがある場合、vimscript でバッファを見つけるにはどうすればよいですか。ご存知のとおり、vim バッファ名は相対パスになることがあります。そのための関数はありますか?
答え1
関数bufnr()
はバッファを検索し、その番号を返します。 と同様にbufname()
、これは照会されたバッファ名をいくつかの形式で受け取ることができます ( を参照: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()
。