dotfiles/vim/vimrc
2014-01-01 14:24:09 -05:00

155 lines
4.3 KiB
VimL

set autoindent
set background=dark
set backspace=indent,eol,start
set colorcolumn=+1
set foldmethod=marker
set hidden
set history=1000
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set list
set listchars=nbsp,eol:↳,tab:└─,extends,precedes,trail:•
set mat=2
set mouse=a
set nocindent
set nocompatible
set number
set pastetoggle=<F2>
set rtp+=~/.vim/bundle/vundle/
set shiftwidth=4
set showmatch
set smartcase
set smartindent
set t_Co=256
set tabstop=4
set textwidth=0
set tm=500
set ttyfast
set undodir=~/.vim/undofiles
set undofile
set undolevels=1000
set wildmenu
set wildmode=list:longest
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle 'bvemu.vim'
Bundle 'bling/vim-airline'
Bundle 'bling/vim-bufferline'
Bundle 'Command-T'
Bundle 'ervandew/supertab'
Bundle 'joshtronic/php.vim'
"Bundle 'kien/ctrlp.vim' " Replacement for Cmd-T?
Bundle 'KohPoll/vim-less'
"Bundle 'kshenoy/vim-signature' " Error when saving file with error
Bundle 'Lokaltog/vim-easymotion'
"Bundle 'msanders/snipmate.vim' " Was fucking up supertab
Bundle 'othree/html5.vim'
Bundle 'pangloss/vim-javascript.git'
Bundle 'random.vim'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'scrooloose/nerdcommenter'
Bundle 'scrooloose/nerdtree'
Bundle 'scrooloose/syntastic'
Bundle 'SearchComplete'
Bundle 'tpope/vim-fugitive'
Bundle 'tpope/vim-surround'
" Picks a colorscheme
if has('gui_running')
colorscheme macvim
else
colorscheme bvemu
endif
autocmd BufEnter * match ExtraWhitespace /\s\+$/
autocmd BufNewFile,BufRead *.less set filetype=less
autocmd BufReadPost * call SetCursorPosition()
autocmd BufWritePost * silent !~/Source/dotfiles/scripts/refresh
autocmd ColorScheme * highlight ExtraWhitespace guibg=red
autocmd FileType c set omnifunc=ccomplete#CompleteCpp
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType svn,*commit* setlocal spell
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhiteSpace /\s\+$/
" Allows fugitive to browse the parent tree
autocmd BufReadPost fugitive://* set bufhidden=delete
autocmd BufReadPost fugitive://*
\ if fugitive#buffer().type() =~# '^\%(tree\|blob\)$' |
\ nnoremap <buffer> .. :edit %:h<CR> |
\ endif
highlight Conditional ctermfg=2
highlight Constant cterm=NONE ctermfg=2
highlight ExtraWhitespace ctermbg=red guibg=red
highlight Function cterm=NONE ctermfg=2
highlight link javaScriptBraces NONE
highlight NonText ctermfg=237 guifg=#303030
highlight Number cterm=NONE ctermfg=darkred
highlight Search cterm=NONE ctermfg=NONE
highlight SpecialKey ctermfg=237 guifg=#303030
highlight Statement cterm=NONE ctermfg=2
highlight String cterm=NONE ctermfg=darkred
let mapleader = ','
let g:airline_powerline_fonts = 1
let g:airline_theme_patch_func = 'AirlineThemePatch'
let g:NERDTreeMouseMode = 3
let g:NERDTreeWinSize = 40
nmap <silent> ,/ :nohlsearch<CR>
nnoremap ; :
nnoremap <Leader>[ :previous<CR>
nnoremap <Leader>] :next<CR>
nnoremap <Leader>{ :first<CR>
nnoremap <Leader>} :last<CR>
nnoremap <Leader>3 :set nonumber<CR>
nnoremap <Leader># :set number<CR>
nnoremap <Leader>8 :set colorcolumn=80<CR>
nnoremap <Leader>* :set colorcolumn=+1<CR>
nnoremap <Leader>f :set nolist<CR>
nnoremap <Leader>F :set list<CR>
nnoremap <Leader>n :NERDTree<CR>
nnoremap <Leader>q :q<CR>
nnoremap <Leader>ss / $<CR>
nnoremap <Leader>tt /\t$<CR>
nnoremap <Leader>w :w<CR>
nnoremap <Leader>ww :w!<CR>
syntax on
syntax sync fromstart
vnoremap * :<C-u>call <SID>VSetSearch()<CR>//<CR>
vnoremap # :<C-u>call <SID>VSetSearch()<CR>??<CR>
" Jumps to last cursor position except on commit messages
function! SetCursorPosition()
if &filetype !~ 'svn\|commit\c'
if line("'\"") > 0 && line("'\"") <= line("$")
exe "normal! g`\""
normal! zz
endif
end
endfunction
" Search for selected text
function! s:VSetSearch()
let temp = @@
norm! gvy
let @/ = '\V' . substitute(escape(@@, '\'), '\n', '\\n', 'g')
let @@ = temp
endfunction
" Force airline's color scheme
function! AirlineThemePatch(palette)
let a:palette.normal.airline_a = [ '#ffffff', '#268bd2', 255, 33 ]
endfunction