X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.vimrc;h=d2aa0c5f1d4740a9e860ca95caa3227b7423e166;hp=24b65306a43f66eeeabbfbe31c4a05490a482bd4;hb=736982b20af663fed7884dc39fe050eabdfbd511;hpb=d21f4c46453b0765408eedb7885441379ace0889 diff --git a/.vimrc b/.vimrc index 24b6530..d2aa0c5 100644 --- a/.vimrc +++ b/.vimrc @@ -61,19 +61,6 @@ se tags=~/.tags,./tags,tags " Don't timeout waiting to interpet, eg, OA as an escape code. se ttimeoutlen=100 -" Function to create mappings with either a hardcoded \ or . -fun! Mapping(keysequence,mapping) - if version >= "600" - exec "map \\" . a:keysequence . " " . a:mapping - else - exec "map " . a:keysequence . " " . a:mapping - endif -endfun - -" Use - and = to create underlines. -call Mapping("-", "yyp:s/./-/g:let @/='':") -call Mapping("=", "yyp:s/./=/g:let @/='':") - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Handle options only available in Vim 5 and above. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -85,11 +72,18 @@ if ! has("gui_running") se bg=dark endif +" Enable tab-completion prompting for commands. +se wildmenu +" Don't list object files when globbing files to load. +se wildignore+=*.o,*.obj +" So there's no need to assign them low priority. +se suffixes-=*.o,*.obj + " Vim 5 hardcodes the size of numbers column to 8. let numberwidth=8 " Save sessions in UNIX format with / as file separator. This is -" cross-platoform. +" cross-platform. se ssop+=unix,slash " Nuke any pre-existing autocommands. @@ -107,8 +101,10 @@ se t_WS=[8;%p1%d;%p2%dt " Highlight search results. se hlsearch -" Syntax highlighting. -syn on +" Syntax highlighting. New versions will use syn enable instead. +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. @@ -222,6 +218,19 @@ endfun " Show the status line for the first time. call Show_StatusLine() +" Function to create mappings with either a hardcoded \ or . +fun! Mapping(keysequence,mapping) + if version >= "600" + exec "map \\" . a:keysequence . " " . a:mapping + else + exec "map " . a:keysequence . " " . a:mapping + endif +endfun + +" Use - and = to create underlines. +call Mapping("-", "yyp:s/./-/g:let @/='':") +call Mapping("=", "yyp:s/./=/g:let @/='':") + " Change to ts=2 with \2. call Mapping("2", ":se ts=2:") " Change to ts=4 with \4. @@ -247,6 +256,9 @@ call Mapping("/", ":let @/=\"\":") " Forget the Ex mode mapping. 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\") . \">\"") + endif """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -268,6 +280,11 @@ syn enable if has("gui_running") se guifont=DejaVu\ Sans\ Mono\ 10 colo darkblue +elseif &t_Co > 16 + try + colo iain + catch + endtry endif if has("win32") se guifont=DejaVu_Sans_Mono:h10:cANSI @@ -288,6 +305,9 @@ highlight LineNr term=underline cterm=bold guifg=blue ctermfg=blue au BufWinEnter quickfix let g:quickfixing=1 au BufUnload * if &ft == "qf" | let g:quickfixing=0 | endif +" Allow in-place editing of crontabs. +au FileType crontab set backupcopy=yes + " Make * and # work the way you expect in visual mode. vnoremap * y/\V=substitute(escape(@@,"/\\"),"\n","\\\\n","ge") vnoremap # y?\V=substitute(escape(@@,"?\\"),"\n","\\\\n","ge")