html vim tab,Vim的默认“tabline”功能的实现是什么?

我使用一个自定义函数从

here复位标签号和视口号(见Tonymec的评论).您可以使用它来更改显示选项卡的方式.

这是我的.vimrc中的.这只是一个稍微修改的版本,它改变了选项卡#和视口#的显示方式.

"Rename tabs to show tab# and # of viewports

if exists("+showtabline")

function! MyTabLine()

let s = ''

let wn = ''

let t = tabpagenr()

let i = 1

while i <= tabpagenr('$')

let buflist = tabpagebuflist(i)

let winnr = tabpagewinnr(i)

let s .= '%' . i . 'T'

let s .= (i == t ? '%1*' : '%2*')

let s .= ' '

let wn = tabpagewinnr(i,'$')

let s .= (i== t ? '%#TabNumSel#' : '%#TabNum#')

let s .= i

if tabpagewinnr(i,'$') > 1

let s .= '.'

let s .= (i== t ? '%#TabWinNumSel#' : '%#TabWinNum#')

let s .= (tabpagewinnr(i,'$') > 1 ? wn : '')

end

let s .= ' %*'

let s .= (i == t ? '%#TabLineSel#' : '%#TabLine#')

let bufnr = buflist[winnr - 1]

let file = bufname(bufnr)

let buftype = getbufvar(bufnr,'buftype')

if buftype == 'nofile'

if file =~ '\/.'

let file = substitute(file,'.*\/\ze.','','')

endif

else

let file = fnamemodify(file,':p:t')

endif

if file == ''

let file = '[No Name]'

endif

let s .= file

let s .= (i == t ? '%m' : '')

let i = i + 1

endwhile

let s .= '%T%#TabLineFill#%='

return s

endfunction

set stal=2

set tabline=%!MyTabLine()

endif

这里是我的功能中定义的颜色

set tabpagemax=15

hi TabLineSel term=bold cterm=bold ctermfg=16 ctermbg=229

hi TabWinNumSel term=bold cterm=bold ctermfg=90 ctermbg=229

hi TabNumSel term=bold cterm=bold ctermfg=16 ctermbg=229

hi TabLine term=underline ctermfg=16 ctermbg=145

hi TabWinNum term=bold cterm=bold ctermfg=90 ctermbg=145

hi TabNum term=bold cterm=bold ctermfg=16 ctermbg=145

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值