tabline、デフォルトに落ちつく

" tabline
function! MyTabLabel(n)
  " tabline にカレントウィンドウのバッファ名表示させたい
  let buflist = tabpagebuflist(a:n)

  " のでタブのなかのカレントウィンドの番号を使う
  let winnr = tabpagewinnr(a:n)

  " あとタブのなかにあるウィンドウ数表示させたい
  let buflen = tabpagewinnr(a:n, '$')

  " ファイル名を表示させたい(ながいのは困るのでファイル名のぶんだけ)
  let bufname = fnamemodify(bufname(buflist[winnr - 1]), ':t')

  " タブの番号表示させたい(これが一番の目的)
  let label = a:n . ": "

  " バッファ名、なければ No name に
  let label .= bufname == '' ? 'No name' : bufname

  " うえでとったウィンドの数をもってくる
  let label .= '[' . buflen . ']'

  " tabline に表示させる文字列返す
  return label
endfunction

" あとはヘルプにあるのそのまま
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'
    let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
  endfor
  let s .= '%#TabLineFill#%T'
  if tabpagenr('$') > 1
    let s .= '%=%#TabLine#%999Xx'
  endif
  return s
endfunction
set tabline=%!MyTabLine()
set showtabline=2

みたいな感じで、タブを表示させてたけど、タブ数が増えてくると収まらなくなり、minwid, maxwid を指定してもちょっと微妙なかんじなのでやめた(けど、10タブくらいまでならけっこういいかんじなので、そもそもタブ開きすぎなのかもしれない)。デフォルトのやつに、タブ番号振れれば満足なんだけど(ファイルのパスが長くなると、a/v/index.html みたいに略してくれるのけっこううれしい)どうやったらいい感じになってくれるのかわからない。
タブのとこに複数ウィンドウのうちのファイル名いっこあっても一覧性びみょうな気がしてきて、表示させる必要ないような気もしてきたので、set showtabline=0 して、:tabs を使いやすいキーマッピングにあてるなどする、というかんじになったんですけど、これってどうにかいいかんじになりませんか…!

あと、なんか字みえにくいし、▽とかの文字がうまく表示できなくて困る mac のターミナル。