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