Created
December 30, 2016 10:51
-
-
Save Cl3MM/98082a0755e25738420736489fd687c1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set nocompatible " be iMproved, required | |
filetype off " required | |
" set the runtime path to include Vundle and initialize | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
" alternatively, pass a path where Vundle should install plugins | |
" | |
" let Vundle manage Vundle, required | |
Plugin 'tpope/vim-fugitive' | |
Plugin 'ZoomWin' | |
Plugin 'mileszs/ack.vim' | |
Plugin 'sunaku/vim-ruby-minitest' | |
Plugin 'VundleVim/Vundle.vim' | |
Plugin 'easymotion/vim-easymotion' | |
Plugin 'godlygeek/tabular' | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'tpope/vim-surround' | |
Plugin 'ctrlpvim/ctrlp.vim' | |
Plugin 'bling/vim-airline' | |
Plugin 'vim-airline/vim-airline-themes' | |
Plugin 'scrooloose/syntastic' | |
Plugin 'scrooloose/nerdcommenter' | |
Plugin 'pangloss/vim-javascript' | |
Plugin 'kchmck/vim-coffee-script' | |
Plugin 'tpope/vim-rails' | |
Plugin 'vim-ruby/vim-ruby' | |
Plugin 'tpope/vim-repeat' | |
Plugin 'ervandew/supertab' | |
Plugin 'raimondi/delimitmate' | |
Plugin 'tpope/vim-endwise' | |
Plugin 'terryma/vim-multiple-cursors' | |
Plugin 'tpope/vim-unimpaired' | |
Plugin 'flazz/vim-colorschemes' | |
Plugin 'chriskempson/base16-vim' | |
Plugin 'nanotech/jellybeans.vim' | |
Plugin 'matchit.zip' | |
Plugin 'ntpeters/vim-better-whitespace' | |
Plugin 'ekalinin/dockerfile.vim' | |
Plugin 'jeetsukumaran/vim-buffergator' | |
Plugin 'bruno-/vim-vertical-move' | |
Plugin 'haya14busa/incsearch.vim' | |
Plugin 'haya14busa/incsearch-fuzzy.vim' | |
Plugin 'nathanaelkane/vim-indent-guides' | |
Plugin 'ecomba/vim-ruby-refactoring' | |
Plugin 'junegunn/vim-emoji' | |
Plugin 'airblade/vim-gitgutter' | |
Plugin 'sjl/gundo.vim' | |
Plugin 'mattn/gist-vim' | |
Plugin 'mattn/webapi-vim' | |
call vundle#end() " required | |
filetype plugin indent on " required | |
syntax enable | |
set hidden | |
let mapleader="ù" | |
map <Leader>n :NERDTreeToggle<CR> | |
nnoremap <Leader>u :GundoToggle<CR> | |
colorscheme Tomorrow-Night-Eighties | |
set guifont=Inconsolata\ 24 | |
set guioptions-=m "remove menu bar | |
set guioptions-=T "remove toolbar | |
set guioptions-=r "remove right-hand scroll bar | |
set guioptions-=L "remove left-hand scroll bar | |
set nu | |
set rnu | |
set mouse=a | |
set tabstop=4 softtabstop=0 expandtab shiftwidth=2 smarttab | |
set completefunc=syntaxcomplete#Complete | |
inoremap <leader>pi <Esc>"+pi | |
vnoremap <leader>pi "+p | |
nnoremap <leader>pi "+p | |
inoremap <leader>pu <Esc>o<Esc>"+pi | |
vnoremap <leader>pu o<Esc>"+p | |
nnoremap <leader>pu o<Esc>"+p | |
" vim-emojicons | |
" set completefunc=emoji#complete | |
" let g:SuperTabDefaultCompletionType = 'context' | |
" gitgutter | |
set updatetime=250 | |
" the_silver_bullet | |
let g:ackprg = 'ag --nogroup --nocolor --column' | |
" ruby / rails | |
autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1 | |
autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1 | |
autocmd FileType ruby,eruby let g:rubycomplete_rails = 1 | |
" Indent guide config | |
let g:indent_guides_start_level = 2 | |
let g:indent_guides_guide_size = 1 | |
let g:indent_guides_enable_on_vim_startup = 1 | |
" vertical move mappings | |
let g:vertical_move_default_mapping = 0 | |
nmap <silent> <leader>j <Plug>(vertical_move_down) | |
nmap <silent> <leader>k <Plug>(vertical_move_up) | |
xmap <silent> <leader>j <Plug>(vertical_move_down) | |
xmap <silent> <leader>k <Plug>(vertical_move_up) | |
" incsearch Plugin conf | |
set hlsearch | |
map / <Plug>(incsearch-forward) | |
map ? <Plug>(incsearch-backward) | |
map g/ <Plug>(incsearch-stay) | |
let g:incsearch#auto_nohlsearch = 1 | |
map n <Plug>(incsearch-nohl-n) | |
map N <Plug>(incsearch-nohl-N) | |
map * <Plug>(incsearch-nohl-*) | |
map # <Plug>(incsearch-nohl-#) | |
map g* <Plug>(incsearch-nohl-g*) | |
map g# <Plug>(incsearch-nohl-g#) | |
map z/ <Plug>(incsearch-fuzzyspell-/) | |
map z? <Plug>(incsearch-fuzzyspell-?) | |
map zg/ <Plug>(incsearch-fuzzyspell-stay) | |
" vim move <C-k> <C-j> | |
" let g:move_key_modifier = 'C' | |
" move current line/block up and down | |
nnoremap <C-j> :m .+1<CR>== | |
nnoremap <C-k> :m .-2<CR>== | |
inoremap <C-j> <Esc>:m .+1<CR>==gi | |
inoremap <C-k> <Esc>:m .-2<CR>==gi | |
vnoremap <C-j> :m '>+1<CR>gv=gv | |
vnoremap <C-k> :m '<-2<CR>gv=gv | |
nnoremap <C-Down> :m .+1<CR>== | |
nnoremap <C-Up> :m .-2<CR>== | |
inoremap <C-Down> <Esc>:m .+1<CR>==gi | |
inoremap <C-Up> <Esc>:m .-2<CR>==gi | |
vnoremap <C-Down> :m '>+1<CR>gv=gv | |
vnoremap <C-Up> :m '<-2<CR>gv=gv | |
" Open NERDTree automatically | |
" autocmd vimenter * NERDTree | |
" start NERDTree when vim | |
" autocmd StdinReadPre * let s:std_in=1 | |
" autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif | |
" close NERDTree when NERTDTree pane is the last open window | |
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif | |
" vim-airline display all buffers | |
let g:airline#extensions#tabline#enabled = 1 | |
set laststatus=2 | |
" Syntaxic config | |
set statusline+=%#warningmsg# | |
set statusline+=%{SyntasticStatuslineFlag()} | |
set statusline+=%* | |
let g:syntastic_always_populate_loc_list = 1 | |
let g:syntastic_loc_list_height = 5 | |
let g:syntastic_auto_loc_list = 0 | |
let g:syntastic_check_on_open = 1 | |
let g:syntastic_check_on_wq = 1 | |
let g:syntastic_javascript_checkers = ['eslint -c ~/.eslintrc'] | |
let g:syntastic_error_symbol = '❌' | |
let g:syntastic_style_error_symbol = '⁉️' | |
" let g:syntastic_warning_symbol = '⚠️' | |
let g:syntastic_style_warning_symbol = '💩' | |
highlight link SyntasticErrorSign SignColumn | |
highlight link SyntasticWarningSign SignColumn | |
highlight link SyntasticStyleErrorSign SignColumn | |
highlight link SyntasticStyleWarningSign SignColumn | |
" NERDCommenter | |
" Add spaces after comment delimiters by default | |
let g:NERDSpaceDelims = 1 | |
" Use compact syntax for prettified multi-line comments | |
let g:NERDCompactSexyComs = 1 | |
" Align line-wise comment delimiters flush left instead of following code indentation | |
let g:NERDDefaultAlign = 'left' | |
" Set a language to use its alternate delimiters by default | |
"let g:NERDAltDelims_java = 1 | |
" Add your own custom formats or override the defaults | |
"let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } } | |
" Allow commenting and inverting empty lines (useful when commenting a region) | |
let g:NERDCommentEmptyLines = 1 | |
" Enable trimming of trailing whitespace when uncommenting | |
let g:NERDTrimTrailingWhitespace = 1 | |
" Setup some default ignores | |
let g:ctrlp_custom_ignore = { | |
\ 'dir': '\v[\/](node_modules|bower_components|\.(git|hg|svn)|\_site)$', | |
\ 'file': '\v\.(exe|so|dll|class|png|jpg|jpeg)$', | |
\} | |
" Use the nearest .git directory as the cwd | |
" This makes a lot of sense if you are working on a project that is in version | |
" control. It also supports works with .svn, .hg, .bzr. | |
let g:ctrlp_working_path_mode = 'r' | |
" Use a leader instead of the actual named binding | |
" nmap <leader>p :CtrlP<cr> | |
" Easy bindings for its various modes | |
nmap <leader>bb :CtrlPBuffer<cr> | |
nmap <leader>bm :CtrlPMixed<cr> | |
nmap <leader>bs :CtrlPMRU<cr> | |
" Buffergator | |
" Use the right side of the screen | |
let g:buffergator_viewport_split_policy = 'R' | |
" I want my own keymappings... | |
let g:buffergator_suppress_keymaps = 1 | |
" Looper buffers | |
let g:buffergator_mru_cycle_loop = 1 | |
" Go to the next buffer open | |
nmap <Tab> :BuffergatorMruCycleNext<cr> | |
" Go to the previous buffer open | |
nmap <S-Tab> :BuffergatorMruCyclePrev<cr> | |
" View the entire list of buffers open | |
nmap <leader>l :BuffergatorOpen<cr> | |
" Shared bindings from Solution #1 from earlier | |
nmap <leader>t :enew<cr> | |
nmap <leader>q :bp <BAR> bd #<cr> | |
if has("unix") | |
function! FontSizePlus () | |
let l:gf_size_whole = matchstr(&guifont, '\( \)\@<=\d\+$') | |
let l:gf_size_whole = l:gf_size_whole + 1 | |
let l:new_font_size = ' '.l:gf_size_whole | |
let &guifont = substitute(&guifont, ' \d\+$', l:new_font_size, '') | |
endfunction | |
function! FontSizeMinus () | |
let l:gf_size_whole = matchstr(&guifont, '\( \)\@<=\d\+$') | |
let l:gf_size_whole = l:gf_size_whole - 1 | |
let l:new_font_size = ' '.l:gf_size_whole | |
let &guifont = substitute(&guifont, ' \d\+$', l:new_font_size, '') | |
endfunction | |
else | |
function! FontSizePlus () | |
let l:gf_size_whole = matchstr(&guifont, '\(:h\)\@<=\d\+$') | |
let l:gf_size_whole = l:gf_size_whole + 1 | |
let l:new_font_size = ':h'.l:gf_size_whole | |
let &guifont = substitute(&guifont, ':h\d\+$', l:new_font_size, '') | |
endfunction | |
function! FontSizeMinus () | |
let l:gf_size_whole = matchstr(&guifont, '\(:h\)\@<=\d\+$') | |
let l:gf_size_whole = l:gf_size_whole - 1 | |
let l:new_font_size = ':h'.l:gf_size_whole | |
let &guifont = substitute(&guifont, ':h\d\+$', l:new_font_size, '') | |
endfunction | |
endif | |
if has("gui_running") | |
nmap - :call FontSizeMinus()<CR> | |
nmap + :call FontSizePlus()<CR> | |
endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment