From 01e2cdc05a6bbf456a389eff9bab7175e41d8c96 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Sat, 12 Mar 2016 15:35:54 +0100 Subject: [PATCH] Add initial version of .vimrc. In future there will be omre explanation for it --- .vimrc | 205 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 .vimrc diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..e434688 --- /dev/null +++ b/.vimrc @@ -0,0 +1,205 @@ +filetype off + +syntax on +" Default config {{{ +set term=screen-256color +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,".join(range(120,999),",") +" }}} + +" Shortcuts {{{ + +let mapleader = ',' + +map :buffers +map H :tabp +map L :tabn + +map S :Ag! + +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') + +" Autocomplete {{{ +Plug 'Valloric/YouCompleteMe' +"Plug 'Shougo/neocomplete.vim' +"Plug 'Shougo/neosnippet' +"Plug 'Shougo/neosnippet-snippets' + +"let g:acp_enableAtStartup = 0 +"" Use neocomplete. +"let g:neocomplete#enable_at_startup = 1 +"" Use smartcase. +"let g:neocomplete#enable_smart_case = 1 + +"imap neosnippet#expandable_or_jumpable() ? + "\ "\(neosnippet_expand_or_jump)" + "\: pumvisible() ? "\" : "\" +"smap neosnippet#expandable_or_jumpable() ? + "\ "\(neosnippet_expand_or_jump)" + "\: "\" +" }}} + +"Plug 'blueyed/vim-colors-solarized' +Plug 'jpo/vim-railscasts-theme' + +Plug 'dkprice/vim-easygrep' + +Plug 'nathanaelkane/vim-indent-guides', { 'on': 'IndentGuidesToggle' } + +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' + +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 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } +Plug 'Shougo/unite.vim' +Plug 'Shougo/vimfiler.vim', { 'on': 'VimFilerExplorer' } + +"let NERDTreeIgnore = ['\.o'] + +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 'wikitopian/hardmode' + +" 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 'thoughtbot/vim-rspec' +Plug 'benmills/vimux' + +let g:rspec_command = 'call VimuxRunCommand("bundle exec spring rspec {spec}")' +map t :call RunCurrentSpecFile() +map t :call RunAllSpecs() + +"Plug 'kana/vim-textobj-user' +"Plug 'nelstrom/vim-textobj-rubyblock' +" }}} + +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' } + +"Plug 'vim-utils/vim-ruby-fold' + +call plug#end() +filetype plugin indent on + +let g:solarized_termcolors=256 +colorscheme railscasts +set background=dark + +" 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