X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.vimrc;h=3f4fd1df05b2c62d08eef020213bd6eea7946c21;hp=9f8f25aeb93cb30ec55a9a7942d70519cad4365e;hb=24b96a93258908176503c7e6d9c4c0b912f87b2b;hpb=ca9bf8f792061929a7ef9f0a61022bf1b79539f0 diff --git a/.vimrc b/.vimrc index 9f8f25a..3f4fd1d 100644 --- a/.vimrc +++ b/.vimrc @@ -75,8 +75,10 @@ if ! has("gui_running") se bg=dark endif -" Allow mouse use in a terminal. -se mouse=nvir +" Allow mouse use in a terminal but only if it can work. +if has("xterm_clipboard") + se mouse=nvir +endif " Update more quickly. For use with sign highlighting as polling for " CursorMove makes redrawing slow. @@ -113,8 +115,9 @@ if ! exists("g:oldcols") let g:oldcols=&columns endif -" More GUI options. Add icon, tearoffs and toolbar. -se go+=itT +" More GUI options. Add icon and tearoffs. +se go+=i +se go+=t " Allow dynamic window resize even if we aren't in an xterm. se t_WS=[8;%p1%d;%p2%dt @@ -130,10 +133,6 @@ if version < "600" syn on endif -" Use a discernably different colour to highlight the cursor which shows -" matching brackets. Our regular cursor is green so use blue instead of cyan. -hi MatchParen ctermbg=blue - " Catch typos. command! W :w command! Wq :wq @@ -367,6 +366,34 @@ map Q " Vim tip 99: What's the highlighting group under the cursor? call Mapping("h", ":echo \"hi<\" . synIDattr(synID(line(\".\"),col(\".\"),1),\"name\") . '> trans<' . synIDattr(synID(line(\".\"),col(\".\"),0),\"name\") . \"> lo<\" . synIDattr(synIDtrans(synID(line(\".\"),col(\".\"),1)),\"name\") . \">\"") +fun! Uncluttered_Buffer() + if exists("uncluttered_buffer") + if uncluttered_buffer == 1 + return 1 + endif + endif + + if version >= "600" + if &buftype != '' + return 1 + endif + endif + + if &ft == 'perforce' + return 1 + endif + + if &ft == 'svn' + return 1 + endif + + if &ft == 'gitcommit' + return 1 + endif + + return 0 +endfun + fun! Startup_Resize() let l:columns = 0 @@ -394,10 +421,7 @@ fun! Startup_Resize() endfun " Show numbers by default. -au Display VimEnter * call Number(0) - -" Resize after startup. -au Display VimEnter * call Startup_Resize() +au Display VimEnter * if ! Uncluttered_Buffer() | call Number(0) | endif endif """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -533,7 +557,7 @@ fun! Place_Sign(number, line, old, name) endfun fun! Highlight_Signs(...) - if ! has("signs") || ! g:marksigns + if ! has("signs") || ! g:marksigns || Uncluttered_Buffer() return endif @@ -815,7 +839,7 @@ endfun " Find out if any buffer was modified. fun! TabModified(buflist) let l:i = 0 - while i < len(a:buflist) + while l:i < len(a:buflist) if getbufvar(a:buflist[l:i], "&modified") == 1 return "+" endif @@ -902,3 +926,8 @@ se go+=e let g:p4EnableMenu=1 let g:p4Presets='P4CONFIG' endif + +if version >= "500" +" Resize after startup. +au Display VimEnter * call Startup_Resize() +endif