Vim でバッファ番号から開かれているタブ番号を取得する
某所で少し話が出てたので書いてみた。
[ソース]
function! GetBufnr2Tabnr(bufnr) let result = [] for tabnr in range(1, tabpagenr("$")) for bufnr in tabpagebuflist(tabnr) if bufnr == a:bufnr call add(result, tabnr) endif endfor endfor return result endfunction " example " バッファ3が開いているタブ番号は [2, 3, 3, 4] echo GetBufnr2Tabnr(3) " => [2, 3, 3, 4]
tabpagebuflist() でタブで開かれているバッファ番号が取得できるのでそれを利用しています。