如何让tab只显示文件名而不是vim中的完整路径

时间:2010-03-18 10:14:34

标签: vim

如果文件的完整路径很长,则无法分辨给定选项卡中的文件。所以我想知道是否有一种方法让标签只显示文件名而不是完整路径 在某些情况下,该文件可能很方便。需要你的帮助,提前谢谢。

4 个答案:

答案 0 :(得分:31)

尝试

:set guitablabel=%t

有关可能选项的格式,请参阅

  

:help'statusline'

答案 1 :(得分:21)

我的vimrc中有以下内容:

set guitablabel=\[%N\]\ %t\ %M 

输出: [编号]如果文件被修改,则为文件名和+符号( [4] foo.html + )。 使用命令[Number] gt立即切换到所选选项卡,Number非常有用 ( 4gt ,如果我想跳转到标签4中的文件)

答案 2 :(得分:4)

我使用此解决方案而不是Habi's,因为这个仍保留默认功能,在选项卡中放置一个“+”符号以指示要修改的文件,以及选项卡中窗口数的计数。因此它基本上与默认选项卡标签相同,但只使用文件名,而不是完整路径。

" Tab headings
function GuiTabLabel()
    let label = ''
    let bufnrlist = tabpagebuflist(v:lnum)

    " Add '+' if one of the buffers in the tab page is modified
    for bufnr in bufnrlist
        if getbufvar(bufnr, "&modified")
            let label = '+'
            break
        endif
    endfor

    " Append the number of windows in the tab page if more than one
    let wincount = tabpagewinnr(v:lnum, '$')
    if wincount > 1
        let label .= wincount
    endif
    if label != ''
        let label .= ' '
    endif

    " Append the buffer name (not full path)
    return label . "%t"
endfunction

set guitablabel=%!GuiTabLabel()

答案 3 :(得分:0)

其他解决方案仅适用于GUI VIM,不适用于终端vim或嵌入式vim(nvim)。

您可以使用vim-plugvim-airline。然后,将其添加到您的.vimrc

call plug#begin(stdpath('data') . '/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
call plug#end()

let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#fnamemod = ':t'