请教:非gui下的vim,如何设置tablabel?

Vim、Emacs配置和使用
回复
头像
xinglu1983
帖子: 43
注册时间: 2008-07-08 19:25
来自: 北京
联系:

请教:非gui下的vim,如何设置tablabel?

#1

帖子 xinglu1983 » 2012-03-29 18:09

我想在多标签情况下,标签前显示序号,方便切换,以前用gvim,vimrc里设置:set guitablabel=%N/\ %t\ %M 就可以了,但是现在在终端远程连服务器开发,没把发用gui,请问有没有办法让标签前显示序号呢?
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 请教:非gui下的vim,如何设置tablabel?

#2

帖子 lilydjwg » 2012-03-29 18:49

代码: 全选

:h 'tabline'
头像
xinglu1983
帖子: 43
注册时间: 2008-07-08 19:25
来自: 北京
联系:

Re: 请教:非gui下的vim,如何设置tablabel?

#3

帖子 xinglu1983 » 2012-03-29 19:39

奇怪,我按帮助手册上设置了,怎么还是不显示标签页号呢。
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
来自: 北京
联系:

Re: 请教:非gui下的vim,如何设置tablabel?

#4

帖子 xinglu1983 » 2012-03-30 20:11

解决了,在下面这个评论里找到了答案了。

http://vim.wikia.com/wiki/Show_tab_numb ... r_tab_line
回复