filetype off syntax on " Default config {{{ set t_Co=256 set ruler set ts=2 sts=2 sw=2 set nocompatible set autoindent set number set backspace=2 set ignorecase set incsearch set cursorline set expandtab set wildmenu set hid set lazyredraw set autoread set history=700 "set relativenumber set encoding=utf8 set fileencoding=utf8 set backupdir=~/.vim/swp set directory=~/.vim/swp set shell=/bin/bash set hidden map ; : set undodir=$HOME/.vim/undo set undolevels=1000 set undoreload=10000 set undofile let &colorcolumn="80,120" " }}} " Shortcuts {{{ let mapleader = ',' map :buffers map H :tabp map L :tabn map S :Ag! set pastetoggle= map :VimFilerExplorer map g :Gstatus map c :Gcommit map ig :IndentGuidesToggle map :CtrlP map p :CtrlP . map / (easymotion-sn) map h :%s/:\([^ ]*\)\(\s*\)=>/\1:/g map H :s/:\([^ ]*\)\(\s*\)=>/\1:/g " }}} call plug#begin('~/.vim/plugged') Plug 'sheerun/vim-polyglot' " Autocomplete {{{ Plug 'Valloric/YouCompleteMe' " " The Silver Searcher if executable('ag') " Use ag over grep set grepprg=ag\ --nogroup\ --nocolor " Use ag in CtrlP for listing files. Lightning fast and respects .gitignore let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' " ag is fast enough that CtrlP doesn't need to cache let g:ctrlp_use_caching = 0 endif " }}} Plug 'jpo/vim-railscasts-theme' Plug 'dkprice/vim-easygrep' Plug 'nathanaelkane/vim-indent-guides', { 'on': 'IndentGuidesToggle' } Plug 'Yggdroot/indentLine' Plug 'exu/pgsql.vim', { 'for': 'sql' } Plug 'junegunn/vim-easy-align' " Start interactive EasyAlign in visual mode (e.g. vipga) xmap ga (EasyAlign) " Start interactive EasyAlign for a motion/text object (e.g. gaip) nmap ga (EasyAlign) Plug 'duggiefresh/vim-easydir' Plug 'scrooloose/syntastic' let g:syntastic_ruby_checkers = ['mri', 'rubocop'] Plug 'rking/ag.vim', { 'on': 'Ag' } Plug 'Lokaltog/vim-easymotion' Plug 'tpope/vim-surround' Plug 'edkolev/tmuxline.vim' Plug 'ntpeters/vim-better-whitespace' Plug 'terryma/vim-multiple-cursors' " Nerd {{{ Plug 'Shougo/unite.vim' Plug 'Shougo/vimfiler.vim', { 'on': 'VimFilerExplorer' } Plug 'scrooloose/nerdcommenter' " }}} " Plug 'terryma/vim-expand-region' vmap v (expand_region_expand) vmap (expand_region_shrink) Plug 'bling/vim-airline' let g:airline#extensions#tabline#enabled = 1 let g:airline_powerline_fonts = 1 set laststatus=2 Plug 'kien/ctrlp.vim', { 'on': 'CtrlP' } set wildignore+=*/.gem/*,*/vendor/Plug/*,*/tmp/*,log/*,*/tmp/*,*/public/system*,*.orig,*.o,*/public/assets* Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'wikitopian/hardmode' Plug 'tpope/vim-dispatch' " RAILS {{{ Plug 'kchmck/vim-coffee-script' Plug 'slim-template/vim-slim', { 'for': 'slim' } Plug 'tpope/vim-haml', { 'for': 'haml' } Plug 'tpope/vim-rails' Plug 'grzlus/sass.snippet', { 'for': 'sass' } Plug 'tpope/vim-cucumber' Plug 'thoughtbot/vim-rspec' Plug 'benmills/vimux' let g:rspec_command = 'call VimuxRunCommand("docker-compose run web rspec {spec}")' map t :call RunCurrentSpecFile() map s :call RunNearestSpec() map l :call RunLastSpec() map a :call RunAllSpecs() " }}} Plug 'heartsentwined/vim-emblem', { 'for': 'emblem' } " GIT Plug 'tpope/vim-fugitive' Plug 'airblade/vim-gitgutter' Plug 'mattn/gist-vim', { 'on': 'Gist' } Plug 'mattn/webapi-vim', { 'on': 'Gist' } call plug#end() filetype plugin indent on " set Vim-specific sequences for RGB colors let &t_8f = "\[38;2;%lu;%lu;%lum" let &t_8b = "\[48;2;%lu;%lu;%lum" let g:solarized_termcolors=256 set termguicolors set background=dark colorscheme railscasts " VIM Flod {{{ augroup vimrc au BufReadPre * setlocal foldmethod=marker au BufWinEnter * if &fdm == 'indent' | setlocal foldmethod=manual | endif augroup END " }}} " Remember line {{{ " Return to last edit position when opening files (You want this!) autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal! g`\"" | \ endif " Remember info about open buffers on close set viminfo^=% " }}} autocmd VimEnter,BufNewFile,BufReadPost * if !strlen(&buftype) | silent! call HardMode() | endif autocmd FileType css,scss,sass setlocal iskeyword+=- autocmd FileType css,scss,sass setlocal omnifunc=csscomplete#CompleteCSS autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags autocmd FileType javascript,coffee setlocal omnifunc=javascriptcomplete#CompleteJS autocmd BufWritePre * StripWhitespace