vim的标签页路径很古怪,且可以用状态栏显示完整路径。下面是只显示文件名,同时支持修改的文件名前显示“+”号的方法。
vi ~/.vimrc
syn on
set nu
set incsearch
set hlsearch
set nobackup
set ls=2
set cursorline
set tabstop=4
" start ------------------->标签页只显示文件名,且修改后显示+号
set tabline=%!MyTabLine()
function MyTabLine()
let s = ''
for i in range(tabpagenr('$'))
if i + 1 == tabpagenr()
let s .= '%#TabLineSel#'
else
let s .= '%#TabLine#'
endif
" MyTabLabel() 提供完整路径标签 MyShortTabLabel 提供文件名标签
let s .= ' %{MyShortTabLabel(' . (i + 1) . ')} '
endfor
return s
endfunction
" 文件名标签
function MyShortTabLabel(n)
let buflist = tabpagebuflist(a:n)
let filename = ''
for bufnr in buflist
if getbufvar(bufnr, "&modified")
let filename .= '+'
break
endif
endfor
let label = bufname (buflist[tabpagewinnr (a:n) -1])
let filename .= fnamemodify (label, ':t')
return filename
endfunction
"完整路径标签
function MyTabLabel(n)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
return bufname(buflist[winnr - 1])
endfunction
" end ------------------->标签页只显示文件名,且修改后显示+号
修改后:
vim a.c b.c -p
舒服多了