" Vundle Required Block and plugins set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'tpope/vim-fugitive' Plugin 'tpope/vim-rails' Plugin 'tpope/vim-endwise' " Plugin 'tpope/vim-surround' Plugin 'tpope/vim-haml' Plugin 'vim-scripts/bufexplorer.zip' " Plugin 'vim-scripts/matchit.zip' Plugin 'Valloric/MatchTagAlways' Plugin 'Valloric/YouCompleteMe' Plugin 'scrooloose/nerdcommenter' Plugin 'scrooloose/nerdtree' Plugin 'ctrlpvim/ctrlp.vim' Plugin 'editorconfig/editorconfig-vim' Plugin 'godlygeek/tabular' Plugin 'SirVer/ultisnips' Plugin 'vim-airline/vim-airline' Plugin 'vim-airline/vim-airline-themes' Plugin 'kchmck/vim-coffee-script' Plugin 'airblade/vim-gitgutter' Plugin 'maksimr/vim-jsbeautify' Plugin 'ngmy/vim-rubocop' Plugin 'elzr/vim-json' Plugin 'honza/vim-snippets' Plugin 'majutsushi/tagbar' " Plugin 'szw/vim-ctrlspace' " Plugin 'vim-ruby/vim-ruby' " Plugin 'nvie/vim-flake8' Plugin 'junegunn/limelight.vim' " Plugin 'junegunn/goyo.vim' Plugin 'mustache/vim-mustache-handlebars' " Plugin 'diepm/vim-rest-console' call vundle#end() syntax on filetype plugin indent on " End of Vundle Required Block and plugins let mapleader = ';' " define map leader colorscheme xoria256 "set colorscheme """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Vim variables """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set encoding=utf-8 " set the encoding to utf-8 set t_Co=256 " set terminal color 265 set clipboard=unnamed " fix not copying between clipboard and vim set backspace=indent,eol,start " fix backspace not deleteing existing text set number " set numbers column on the left set complete-=i " Faster vim completion set nrformats-=octal " Increment numbers decimally using Ctrl+A and Ctrl+X set autoindent " Auto indent set smartindent "Smart indet set smarttab set softtabstop=2 " indentation set tabstop=2 " indentation set shiftwidth=2 " indentation set expandtab " convert tabs to spaces set ttyscroll=3 " speed up scrolling set ttyfast " Optimize for fast terminal connections set lazyredraw " to avoid scrolling problems "set ttimeout " less timeout for faster navigation "set ttimeoutlen=100 " time out for faster navigation set incsearch " Make search act like search in modern browsers set ignorecase " Ignore case when searching shortend ic " set noignorecase " Case Senetive searching shortend noic set smartcase " case-sensitive search if any caps set hlsearch " Highlight search things shortend hls or nohls set laststatus=2 " Always show the status line set ruler " Always show current position set showcmd " display incomplete commands set wildmenu " Turn on Wild menu set wildignore=*.o,*~,*.pyc " Ignore compiled files set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+ set undofile " Save undo's after file closes set undodir=$HOME/.vim/undo " where to save undo histories set undolevels=200 " How many undos set undoreload=200 " number of lines to save for undo set fileformats+=mac " correct mac file format set tabpagemax=50 " Set the maximum number of tabs allowed set modelines=0 " disable the modelines which i don't understand set nomodeline " disable the modelines which i don't understand set lbr " Vim to wrap existing text as desired set nowrap " let Vim Wrap lines or leave them as long as they get set noeb vb t_vb= " set cursorline " highlight current line " set nocursorline " don't highlight current line set splitbelow " position the preview window below current windows set mouse=a "enable mouse movements, default set mouse= set tags=.tags " set vim startup faster if !empty(&viminfo) set viminfo^=! endif """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Mappings """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Fast saving and quiting nmap w :w nmap q :q :command WQ wq :command Wq wq :command W w :command Q q " Use to clear the highlighting of :set hlsearch. nnoremap :nohlsearch "toggle folding " set foldmethod=indent nnoremap za "Easier window movement" "======================= nnoremap h :wincmd h nnoremap j :wincmd j nnoremap k :wincmd k nnoremap l :wincmd l nnoremap ml L nnoremap mk K nnoremap mh H nnoremap mj J """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Omni complete functions """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "set omnifunc=csscomplete#CompleteCSS "set omnifunc=htmlcomplete#CompleteTags "set omnifunc=phpcomplete#CompletePHP "set omnifunc=javascriptcomplete#CompleteJS "set omnifunc=pythoncomplete#Complete """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Specific FileTypes configurations """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1 autocmd FileType ruby,eruby let g:rubycomplete_rails = 1 autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1 autocmd FileType ruby,eruby let g:rubycomplete_include_object = 1 autocmd FileType ruby,eruby let g:rubycomplete_include_objectspace = 1 autocmd BufNewFile,BufRead *.html.erb set filetype=html " for ruby erb template files autocmd BufNewFile,BufRead *.json.jbuilder set filetype=ruby " for ruby json template files autocmd BufRead,BufNewFile *.md setlocal spell " spell check md files autocmd BufRead,BufNewFile *.markdown setlocal spell " spell check md files autocmd FileType gitcommit setlocal spell " spell check commits autocmd FileType javascript noremap :call JsBeautify() autocmd FileType json noremap :call JsBeautify() autocmd FileType html noremap :call HtmlBeautify() autocmd FileType css noremap :call CSSBeautify() autocmd FileType scss noremap :call CSSBeautify() autocmd CompleteDone * pclose " auto-close preview after completion """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => MISC """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Highlight the 80, 120 columns "============================= highlight ColorColumn ctermbg=235 guibg=#2c2d27 let &colorcolumn="80,".join(range(121,999),",") " let &colorcolumn="80" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " => Plugin maps """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Vim-Coffee" "=========== " let coffee_make_options = '--bare' " options passed to coffee let coffee_compile_vert = 1 " open compiled in vertical buffer let coffee_watch_vert = 1 " open watched in vertical buffer let coffee_run_vert = 1 " open run in vertical buffer " nmap cr :CoffeeRun " nmap cw :CoffeeWatch " nmap cc :CoffeeCompile " nmap cl :CoffeeLint " nnoremap mw :CoffeeWatch "NerdTree" "========= nnoremap nt :NERDTreeToggle nnoremap nn :NERDTree "NerdCommenter" "============= let NERDSpaceDelims = 1 " add a space after comment delimiter "BufExp" "====== let g:bufExplorerShowRelativePath=1 " Show relative paths. let g:bufExplorerSortBy='name' " Sort by file name. "Vim-airline "=========== let g:airline_theme='wombat' let g:airline_powerline_fonts = 0 "branch parts let g:airline#extensions#branch#enabled = 1 "seperators let g:airline_left_sep = '' let g:airline_right_sep = '' "modes let g:airline_section_b="" let g:airline_section_x="" let g:airline_section_y="" "let g:airline_section_gutter="" let g:airline#extensions#whitespace#enabled = 0 " let g:airline#extensions#tabline#enabled = 1 "Gitgutter "========= let g:gitgutter_sign_column_always = 1 let g:gitgutter_map_keys = 0 let g:gitgutter_realtime = 0 let g:gitgutter_eager = 0 "UltiSnips "========= let g:UltiSnipsExpandTrigger = "" let g:UltiSnipsJumpForwardTrigger = '' let g:UltiSnipsJumpBackwardTrigger = '' "CtrlP "===== let g:ctrlp_custom_ignore = '\v[\/](coverage|doc|vendor|tmp|.tmp|bower_components|node_modules|dist|spec/fixtures/vcr_cassettes)$' "MatchTagAlways "============== let g:mta_filetypes = { 'html' : 1 } "RuboCop "======= let g:vimrubocop_keymap = 0 nmap r :RuboCop nmap R :RuboCop -a "Limelight" "========= nmap f :Limelight!! "Goyo" "========= " nmap g :Goyo "Tagbar "======= nmap :TagbarToggle