set encoding=utf-8 set fileencoding=utf-8 set nocompatible filetype off " set the runtime path to include vundle and initialize " *nix set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " let Vundle manage Vundle, required Plugin 'gmarik/Vundle.vim' " Solarized theme " Plugin 'altercation/vim-colors-solarized' " Nord theme Plug 'arcticicestudio/nord-vim' " Syntastic Plugin 'scrooloose/syntastic' " Git Plugin 'tpope/vim-fugitive' " Easy Commenting Plugin 'tpope/vim-commentary' " Surround - Easy changing of quotes and stuff Plugin 'tpope/vim-surround' " Ctrlp full path fuzzy file finder Plugin 'kien/ctrlp.vim' " Ack from vim Plugin 'mileszs/ack.vim' " Improved vim status bar Plugin 'bling/vim-airline' " Indent guides Plugin 'Yggdroot/indentLine' " Language specific syntax highlighting Plugin 'derekwyatt/vim-scala' Plugin 'kchmck/vim-coffee-script' Plugin 'rust-lang/rust.vim' if !has("win32") || !has("win16") "Code Completion Plugin 'Valloric/YouCompleteMe' " Tree explorer "Instead of forcing vim to start Nerdtree just do it manually " autocmd vimenter * NERDTree " make NERDTree come up automatically " on vim start Plugin 'scrooloose/nerdtree' " Make Vim play nice with tmux " Use " to move between window panes in tmux or vim Plugin 'christoomey/vim-tmux-navigator' endif " Markdown Plugin 'godlygeek/tabular' Plugin 'plasticboy/vim-markdown' " Jade - Express templating Plugin 'digitaltoad/vim-jade' " Stylus highlighting Plugin 'wavded/vim-stylus' " Haskell Plugin 'raichoo/haskell-vim' " end plugin list call vundle#end() filetype plugin indent on " Solarized Dark syntax enable set background=dark colorscheme solarized " let g:solarized_termcolors=256 " Better terminal colors " Toggle solarized scheme " call togglebg#map("") " Standard variables set expandtab " tabs to spaces set tabstop=2 " spaces entered when tab key is pressed set shiftwidth=2 " spaces entered for indentation set number " Line numbering set backspace=indent,eol,start " Make backspacing work right set clipboard=unnamedplus " Share system clipboard set eol " End of line at bottom of file set shiftround set hlsearch " Highlight matches in search set incsearch " Search as characters are entered set list set list listchars=tab:»·,trail:· " custom functons function! NumberToggle() if(&relativenumber == 1) set norelativenumber set number else set relativenumber endif endfunc " Autocmds " Stripping trailing whitespace on save autocmd BufWritePre * :%s/\s\+$//e " Fix rust autocmd FileType rust setlocal shiftwidth=2 tabstop=2 autocmd BufRead,BufNewFile *.rs set filetype=rust " Disable the rust style guide recommended 4 space indentation let g:rust_recommended_style=0 " Hotkeys " Note noremap is a normal mode non-recursive mapping " nnoremap and nmap make the bind only work in normal mode let mapleader=" " map t :NERDTreeToggle nnoremap r :call NumberToggle() " This one maps F5 to delete all trailing whitespace nnoremap :let _s=@/:%s/\s\+$//e:let @/=_s:nohl " Pressing enter in command mode clears the current search highlighting until " the next search. nnoremap :noh " ctrlp hotkeys let g:ctrlp_map='' let g:ctrlp_cmd='CtrlP' " ctrlp configuration set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows let g:ctrlp_working_path_mode='ra' " Highlight any line with ErrorMsg that goes over 120 characters if exists('+colorcolumn') set colorcolumn=120 else au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1) endif " Indent lines customizations " Color customizations " let g:indentLine_color_term=### " Line indent guides are defaulted to off let g:indentLine_enabled=0 " Leader + i will toggle line indent guides map i :IndentLinesToggle