在Tab中设置文件名

Man*_*ish 1 vim

当我用Vim打开几个文件时,有人能告诉我如何在选项卡中显示文件名吗?在选项卡上有一个名称将使更改为不同的文件更容易.

e3m*_*eus 6

我认为您的问题是"如何仅在标签标签上显示文件名".如果那是问题,我的答案是:

在gui vim中,您将使用:

:set guitablabel=%t
Run Code Online (Sandbox Code Playgroud)

但是,如果在vim中,它会变得更复杂一些.您必须使用:tabline覆盖整行.我修改了:help setting-tabline中提供的示例,以添加您想要的行为.您需要将以下代码添加到vimrc:

set tabline=%!MyTabLine()

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)
  let label =  bufname(buflist[winnr - 1]) 
  return fnamemodify(label, ":t") 
endfunction
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!