
" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
set foldmethod=marker

" allow backspacing over everything in insert mode
set backspace=indent,eol,start

set autoindent		" always set autoindenting on
set history=50		" keep 50 lines of command line history
set ruler		" show the cursor position all the time
set showcmd		" display incomplete commands
set incsearch		" do incremental searching 
set softtabstop=3 
set uc=0                " disable swap files
set shell=/bin/bash  
set nobackup

" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
" let &guioptions = substitute(&guioptions, "t", "", "g")

" Don't use Ex mode, use Q for formatting
map Q gq

" Make p in Visual mode replace the selected text with the "" register.
vnoremap p <Esc>:let current_reg = @"<CR>gvs<C-R>=current_reg<CR><Esc>

" This is an alternative that also works in block mode, but the deleted
" text is lost and it only works for putting the current register.
"vnoremap p "_dp

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
syntax on
set hlsearch 

" Only do this part when compiled with support for autocommands.
if has("autocmd")

  " Enable file type detection.
  " Use the default filetype settings, so that mail gets 'tw' set to 72,
  " 'cindent' is on in C files, etc.
  " Also load indent files, to automatically do language-dependent indenting.
  filetype plugin indent on

  " For all text files set 'textwidth' to 78 characters.
  autocmd FileType text setlocal textwidth=0

  " When editing a file, always jump to the last known cursor position.
  " Don't do it when the position is invalid or when inside an event handler
  " (happens when dropping a file on gvim).
  autocmd BufReadPost *
    \ if line("'\"") > 0 && line("'\"") <= line("$") |
    \   exe "normal g`\"" |
    \ endif |
	 \ if foldlevel('.') > 0 |
    \   exe ":foldopen!" |
	 \ endif



endif " has("autocmd")
colo default  


"execute "source ~/.vim/plugin/FeralToggleCommentify.vim" 
"map <M-c> : call ToggleCommentify()<CR>j
"imap <M-c> <ESC>:call ToggleCommentify()<CR>j



function! InsertTabWrapper(direction) 
let col = col('.') - 1 
if !col || getline('.')[col - 1] !~ '\k' 
   return "\<tab>" 
elseif "backward" == a:direction 
   return "\<c-p>" 
else 
   return "\<c-n>" 
endif 
endfunction 

inoremap <tab> <c-r>=InsertTabWrapper ("forward")<cr>
inoremap <s-tab> <c-r>=InsertTabWrapper ("backward")<cr>

source ~/.exrc 
set wildmenu
set  background=dark

"Do local Makefile
map <F2> :!/home/larour/bin/cs <CR>
"Compile server code
map <F1> :!/home/larour/bin/c <CR>
"Change to directory of current file automatically
autocmd BufEnter * lcd %:p:h
