vimrc on Windoze

" This is for vim 7.0 - which has several great improvements.

set nocompatible
"source $VIMRUNTIME/vimrc_example.vim
"source $VIMRUNTIME/mswin.vim
"behave mswin

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '<cmd'
      let cmd = '""' . $VIMRUNTIME . 'diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . 'diff"'
    endif
  else
    let cmd = $VIMRUNTIME . 'diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

" It takes a lot of doing to get vim (which is really gvim)
" to behave properly on Windoze, but I've got something that
" works a bit.  I have to turn auto-indenting off because it
" constantly screws up, but it's better than notepad.

colors pablo
set guifont=Lucida_Console:h10:cANSI
set nocompatible
set backspace=indent,eol,start
set ruler
set nocompatible
set showcmd
set ts=2
set shiftwidth=2
set expandtab
set shiftround
set smarttab
set tw=72
set hlsearch
set lines=56
set autoindent

set incsearch
filetype plugin on
syntax on

:inoremap ( ()<Esc>i
:inoremap [ []<Esc>i
:inoremap " ""<Esc>i
:inoremap { {}<Esc>i
:inoremap < <><Esc>i

:abbr teh the
:abbr hte the
:abbr adn and
:abbr nad and
:abbr taht that
:abbr htat that
:abbr fo of
:abbr ot to

" SmartTab wrapper
function! SmartTab()
  let col = col('.') - 1
  if !col || getline('.')[col - 1] !~ 'k'
    return "<tab>"
  else
    return "<c-p>"
  endif
endfunction

" turn on SmartTabs
inoremap <tab> <c-r>=SmartTab()<cr>

" Turn on the spellcheck
setlocal spell spelllang=en_us