在选项卡中显示展开的相对路径而不是单个字母

时间:2014-07-07 16:01:28

标签: vim

当我在vim中打开多个标签时,文件的路径会显示在标签中:

enter image description here

请注意,只使用目录的第一个字符:

p/c/game.js

而不是

public/controllers/game.js

是否可以使用完整的目录名称而不仅仅是首字母来显示选项卡中的完全展开的路径?

1 个答案:

答案 0 :(得分:0)

这应该有效:

function! MyTabLine()
  let s = ''
  for i in range(tabpagenr('$'))
    " select the highlighting
    if i + 1 == tabpagenr()
      let s .= '%#TabLineSel#'
    else
      let s .= '%#TabLine#'
    endif

    " set the tab page number (for mouse clicks)
    let s .= '%' . (i + 1) . 'T'

    " the label is made by MyTabLabel()
    let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
  endfor

  " after the last tab fill with TabLineFill and reset tab page nr
  let s .= '%#TabLineFill#%T'

  " right-align the label to close the current tab page
  if tabpagenr('$') > 1
    let s .= '%=%#TabLine#%999Xclose'
  endif

  return s
endfunction

function! MyTabLabel(n)
  let buflist = tabpagebuflist(a:n)
  let winnr = tabpagewinnr(a:n)
  return fnamemodify(bufname(buflist[winnr - 1]), ':p')
endfunction

set tabline=%!MyTabLine()

此代码几乎100%来自vim帮助(请参阅:help setting-tabline)。唯一的调整是在MyTabLabel中使用fnamemodify来获取完整路径。