タブ名をディレクトリにする私のソリューションは次のとおりです。これは、通常、タブが表すプロジェクトの適切なプロキシです。このソリューションは、バッファが 1 つしかない場合にファイル名を表示するように変更できます (以下に変更を示します)。
このソリューションは、Jerome の. 私は彼らほど複雑なことをしていないので、私のものは 5 倍短いです。
また、このソリューションではタブ番号が名前の横に配置されるため、簡単に移動できます。つまり、タブは次のようになり、2 番目のタブに移動1:log 2:doc 3:vimfiles
し2gt
ます。
set tabline=%!TabLine()
function! TabLine()
let line = ''
for i in range(tabpagenr('$'))
let line .= (i+1 == tabpagenr()) ? '%#TabLineSel#' : '%#TabLine#'
let line .= '%' . (i + 1) . 'T'
let line .= TabLabel(i + 1) . ' '
endfor
let line .= '%#TabLineFill#%T'
return line
endfunction
function! TabLabel(n)
" Return list of buffer numbers for each window pane open in tab.
let panelist = tabpagebuflist(a:n)
" See :help setting-tabline then search MyTabLabel if you want to
" use use the active window. I use the topmost pane, which let's
" me rename the tab just by putting a window from a different
" directory in the first position.
let filepath = bufname(panelist[0])
let dirname = fnamemodify(filepath, ':p:h:t')
return a:n . ':' . dirname
endfunction
バッファが 1 つだけ表示されている場合にファイル名を表示するための変更:
function! TabLabel(n)
" Return list of buffer numbers for each window pane open in tab.
let panelist = tabpagebuflist(a:n)
" See :help setting-tabline then search MyTabLabel if you want to
" use use the active window. I use the topmost pane, which let's
" me rename the tab just by putting a window from a different
" directory in the first position.
let filepath = bufname(panelist[0])
let dirname = fnamemodify(filepath, ':p:h:t')
let filename = fnamemodify(filepath, ':t')
let tabname = len(panelist) > 1 ? dirname : filename
return a:n . ':' . tabname
endfunction