X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.vimrc;h=a72c2dcf7297427d722b3affa0c9a0bd6d050b77;hp=7a3ca5db2d1d4149d37b1a57425fa118d4633c90;hb=edf8df9b6f669de383f8763daf87af730c22536a;hpb=b41415a3acf0d0ff344362c7ef2ec37049c6781d diff --git a/.vimrc b/.vimrc index 7a3ca5d..a72c2dc 100644 --- a/.vimrc +++ b/.vimrc @@ -1264,7 +1264,7 @@ fun! Cycle_Alt() "{{{2 call Iain_Vars() let b:iainalt = ! b:iainalt call Show_StatusLine() -endfun "{{{2 +endfun "}}}2 " To be overridden later if applicable. fun! Extra_Whitespace_Match() "{{{2 @@ -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("$") @@ -1548,8 +1556,27 @@ call Mapping("u", ":call Cycle_Undo()") " Remove persistent undo file with \U. call Mapping("U", ":call Clear_Undo()") -" Toggle gundo window with \g. -call Mapping("g", ":call gundo#GundoToggle()") +" Toggle Undotree window with \g. +call Mapping("g", ":UndotreeToggle") +" Switch to Undotree window with \G. +call Mapping("g", ":UndotreeToggle") +" Undotree gets focus. +let g:undotree_SetFocusWhenToggle=1 +" Undotree uses context diff. +let g:undotree_DiffCommand="diff -u" +" Undotree bullet. +if Has_Unicode() + let g:undotree_TreeNodeShape="•" +endif +" Undotree bindings emulate Gundo. +fun! g:Undotree_CustomMap() "{{{2 + nmap k UndotreeGoNextState + nmap j UndotreeGoPreviousState + nmap K UndotreeGoNextSaved + nmap J UndotreeGoPreviousSaved + nmap UndotreeFocusTarget +endfun "}}}2 + " Use a persistent undo file if it exists. fun! Check_Undo() "{{{2