vim 絶対パスでバッファを検索する

vim 絶対パスでバッファを検索する

絶対パスがある場合、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()

関連情報