请教:非gui下的vim,如何设置tablabel?
- xinglu1983
- 帖子: 43
- 注册时间: 2008-07-08 19:25
- 来自: 北京
- 联系:
请教:非gui下的vim,如何设置tablabel?
我想在多标签情况下,标签前显示序号,方便切换,以前用gvim,vimrc里设置:set guitablabel=%N/\ %t\ %M 就可以了,但是现在在终端远程连服务器开发,没把发用gui,请问有没有办法让标签前显示序号呢?
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教:非gui下的vim,如何设置tablabel?
代码: 全选
:h 'tabline'
- xinglu1983
- 帖子: 43
- 注册时间: 2008-07-08 19:25
- 来自: 北京
- 联系:
Re: 请教:非gui下的vim,如何设置tablabel?
奇怪,我按帮助手册上设置了,怎么还是不显示标签页号呢。
set tabline=%!MyTabLine()
function MyTabLine()
let s = ''
for i in range(tabpagenr('$'))
" 选择高亮
if i + 1 == tabpagenr()
let s .= '%#TabLineSel#'
else
let s .= '%#TabLine#'
endif
" 设置标签页号 (用于鼠标点击)
let s .= '%' . (i + 1) . 'T'
" MyTabLabel() 提供标签
let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
endfor
" 最后一个标签页之后用 TabLineFill 填充并复位标签页号
let s .= '%#TabLineFill#%T'
" 右对齐用于关闭当前标签页的标签
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 bufname(buflist[winnr - 1])
endfunction
set tabline=%!MyTabLine()
function MyTabLine()
let s = ''
for i in range(tabpagenr('$'))
" 选择高亮
if i + 1 == tabpagenr()
let s .= '%#TabLineSel#'
else
let s .= '%#TabLine#'
endif
" 设置标签页号 (用于鼠标点击)
let s .= '%' . (i + 1) . 'T'
" MyTabLabel() 提供标签
let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
endfor
" 最后一个标签页之后用 TabLineFill 填充并复位标签页号
let s .= '%#TabLineFill#%T'
" 右对齐用于关闭当前标签页的标签
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 bufname(buflist[winnr - 1])
endfunction
- xinglu1983
- 帖子: 43
- 注册时间: 2008-07-08 19:25
- 来自: 北京
- 联系: