Try to line up tab header with columns.
authorIain Patterson <me@iain.cx>
Thu, 6 Nov 2014 12:06:21 +0000 (12:06 +0000)
committerIain Patterson <me@iain.cx>
Thu, 11 Feb 2016 13:09:16 +0000 (13:09 +0000)
Set the tab header to match numberwidth.  Extend it if signs are active.
Extend it further when in diff mode.  Note that it isn't easy (if
possible at all) to determine if a window in the leftmost column has
these settings so the width may not always be correct.

.vim/colors/iain.vim
.vimrc

index 45dce40..d23932e 100644 (file)
@@ -277,6 +277,7 @@ if has("gui_running") || &t_Co == 88 || &t_Co == 256
     "call <SID>X("PreProc", "#ff80ff", "", "none")
     "call <SID>X("Type", "#60ff60", "", "none")
     call <SID>X("Ignore", "#ffffff", "", "")
+    call <SID>X("TabLineFill", "#303030", "#90f020", "")
 
     " My stuff.
     hi def Normal guifg=#c0c0c0 guibg=#000020
diff --git a/.vimrc b/.vimrc
index 7a3ca5d..c4b2131 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -1343,7 +1343,15 @@ endfun "}}}2
 
 " Tab line.
 fun! Show_TabLine() "{{{2
-  let l:s = "%#TabLineFill#Tabs:"
+  let l:colwidth = &numberwidth
+  if g:marksigns
+    let l:colwidth += 2
+  endif
+  if &diff == 1
+    let l:colwidth += 2
+  endif
+  let l:fmt = printf("%%s%% %ds", l:colwidth)
+  let l:s = printf(l:fmt, "%#TabLineFill#", "Tabs ")
 
   let l:i = 0
   while l:i < tabpagenr("$")