X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.vimrc;h=b601e41589ebed85bc7e8caa4ae2c2bd048add06;hp=7a3ca5db2d1d4149d37b1a57425fa118d4633c90;hb=b665fb11d26668118e05211aa22b2cf428e5358e;hpb=b41415a3acf0d0ff344362c7ef2ec37049c6781d diff --git a/.vimrc b/.vimrc index 7a3ca5d..b601e41 100644 --- a/.vimrc +++ b/.vimrc @@ -386,6 +386,9 @@ endfun "}}}2 fun! Number(resize) "{{{2 call Iain_Vars() let &number = ! &number + if version >= 703 + let &relativenumber = &number + endif " Ensure we keep track of any extra columns even if we aren't resizing. " This prevents confusion when number is set at startup. @@ -1264,7 +1267,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 +1346,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 +1559,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