diff --git a/autoload/tabman.vim b/autoload/tabman.vim index 99e05ab..67bfa6e 100644 --- a/autoload/tabman.vim +++ b/autoload/tabman.vim @@ -312,12 +312,19 @@ endf fu! s:validbufs(bufs) let bufs = {} for each in a:bufs - let bufname = empty(bufname(each)) ? '' - \ : getbufvar(each, '&bt') == 'quickfix' ? 'quickfix' : bufname(each) + let bufname = [fnamemodify(bufname(each), ':t')] + let buftype = getbufvar(each, '&bt') + if buftype == 'quickfix' || buftype == 'help' || buftype == 'terminal' + let bufname = ['<' . buftype . '>'] + bufname + en + let bufname = join(bufname) + if empty(bufname) + let bufname = '' + en if (getbufvar(each, '&bl') && !empty(bufname(each)) \ && empty(getbufvar(each, '&bt')) && getbufvar(each, '&ma')) || s:special let mod = getbufvar(each, '&mod') ? '+' : '' - cal extend(bufs, { each : [fnamemodify(bufname, ':t').mod] }) + cal extend(bufs, { each : [bufname . mod] }) en endfo retu bufs