" vimrc " vundle set nocompatible " be iMproved, required filetype off " required set mouse-=a " disable automatic visual mode using mouse set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Bundle 'gmarik/vundle' Bundle 'abudden/taghighlight-automirror' Bundle 'altercation/vim-colors-solarized' Bundle 'embear/vim-localvimrc' Bundle 'jwhitley/vim-matchit' Bundle 'majutsushi/tagbar' Bundle 'msanders/snipmate.vim' " Bundle 'Rip-Rip/clang_complete' Bundle 'scrooloose/nerdtree' Bundle 'scrooloose/syntastic' Bundle 'tpope/vim-commentary' Bundle 'tpope/vim-git' Bundle 'tpope/vim-fugitive' Bundle 'tpope/vim-haml' Bundle 'tpope/vim-markdown' Bundle 'tpope/vim-repeat' Bundle 'tpope/vim-surround' Bundle 'vim-scripts/javacomplete' Bundle 'vim-scripts/taglist.vim' Bundle 'bling/vim-airline' Bundle 'kien/ctrlp.vim' Bundle 'd11wtq/ctrlp_bdelete.vim' call vundle#end() " required filetype plugin indent on " required " color scheme " set t_Co=256 " if &t_Co >= 256 || has("gui_running") syntax on set hlsearch set background=dark if !empty($DISPLAY) let g:solarized_termtrans=1 colorscheme solarized set listchars=tab:▸\ ,eol:¬ else colorscheme adobe endif call togglebg#map("") " map :let &background = ( &background == "dark" ? "light" : "dark" ) " colorize extra whitespaces highlight ExtraWhitespace ctermbg=red guibg=red match ExtraWhitespace /\t\|\s\+$/ if has("vms") set nobackupss " do not keep a backup file, use versions instead else set backup " keep a backup file endif "set spell set autoindent " use autoindent" set nocompatible " do not try to act like vi set scrolloff=5 " number of context lines above and below the cursor set laststatus=2 " alway add status line 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 number " show line number set showmode " show current mode set colorcolumn=80 " add vertical bar " files set ff=unix set nofsync filetype off " required by vundle " set list " set cursorline " set cursorcolumn set foldmethod=marker set tabstop=4 shiftwidth=4 softtabstop=4 expandtab set backspace=indent,eol,start " allow backspacing over everything in insert mode " vim-airline let g:airline_theme='luna' let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#fnamemod = ':t' " localvimrc let g:localvimrc_ask=0 let g:localvimrc_sandbox=0 " ctags nnoremap :TlistToggle set tags+=./.tags;/ let Tlist_Ctags_Cmd = "/usr/bin/ctags" let Tlist_WinWidth = 50 let Tlist_Exit_OnlyWindow = 1 " exit if taglist is last window open let Tlist_Show_One_File = 1 " Only show tags for current buffer let Tlist_Enable_Fold_Column = 0 " no fold column (only showing one file) " CtrlP nmap e :CtrlP nmap ep :CtrlPBuffer nmap em :CtrlPMixed call ctrlp_bdelete#init() " nerdtree map :NERDTreeToggle " buffers : hidden -> can leave modified buffers hidden set hidden nmap l :ls nmap N :enew nmap n :bnext nmap p :bprevious " close and goto next nmap bq :bp bd # " jump to definition, to jump back to the call nmap g " code completion inoremap " \t : toggle view invisible nmap l :set list! " remap vim-commentary : nmap \\ Commentary map \\\ " replace current selection with content of "" buffer vmap p "_dP " Don't use Ex mode, use Q for formatting map Q gq " 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=78 " Set color over 80 chars autocmd BufRead *.c,*.cpp,*.h match ExtraOver /\s\+\%#\@ 0 && line("'\"") <= line("$") | \ exe "normal g`\"" | \ endif autocmd FileType python setlocal omnifunc=pythoncomplete#Complete autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS autocmd FileType html setlocal omnifunc=htmlcomplete#CompleteTags autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags autocmd FileType php setlocal omnifunc=phpcomplete#CompletePHP autocmd FileType c setlocal omnifunc=ccomplete#Completeset autocmd Filetype java setlocal complete=.,w,b,u,t,i autocmd Filetype java setlocal omnifunc=javacomplete#Complete autocmd Filetype java setlocal completefunc=javacomplete#CompleteParamsInfo " Syntax of these languages is fussy over tabs Vs spaces autocmd FileType make setlocal ts=8 sts=8 sw=8 noexpandtab autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab " Customisations based on house-style (arbitrary) autocmd FileType html setlocal ts=2 sts=2 sw=2 expandtab autocmd FileType css setlocal ts=2 sts=2 sw=2 expandtab autocmd Filetype html,xml,xsl source ~/.vim/scripts/closetag.vim " Treat .rss files as XML autocmd BufNewFile,BufRead *.rss setfiletype xml autocmd BufNewFile * :exe("0r! ~/.vim/skeletons.rb %:p " . &filetype) endif " has("autocmd") source ~/.vim/scripts/bepo-layout.vim