Last active
October 11, 2018 23:01
-
-
Save revdfdev/9a3c44d140e5e6ea1f320bececd17ab9 to your computer and use it in GitHub Desktop.
Sublim-vim
This file contains hidden or 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
| " vim-sublime - A minimal Sublime Text - like vim experience bundle | |
| " http://github.com/grigio/vim-sublime | |
| " Best view with a 256 color terminal and Powerline fonts | |
| " Updated by Dorian Neto (https://github.com/dorianneto)" | |
| set nocompatible | |
| filetype off | |
| set rtp+=~/.vim/bundle/Vundle.vim | |
| call vundle#begin() | |
| Plugin 'VundleVim/Vundle.vim' | |
| " ------Plugins------- | |
| Plugin 'scrooloose/nerdtree' | |
| Plugin 'tpope/vim-surround' | |
| Plugin 'gcmt/breeze.vim' | |
| Plugin 'kien/ctrlp.vim' | |
| Plugin 'SirVer/ultisnips' | |
| Plugin 'tomtom/tcomment_vim' | |
| "Plugin 'benmills/vimux' | |
| Plugin 'vim-airline/vim-airline' | |
| Plugin 'vim-airline/vim-airline-themes' | |
| Plugin 'airblade/vim-gitgutter' | |
| Plugin 'Valloric/YouCompleteMe' | |
| Plugin 'davidhalter/jedi-vim' | |
| Plugin 'severin-lemaignan/vim-minimap' | |
| Plugin 'gcavallanti/vim-noscrollbar' | |
| "Plugin 'scrooloose/nerdtree' | |
| Plugin 'mattn/emmet-vim' | |
| "Plugin 'tc50cal/vim-terminal' | |
| "Plugin 'vimlab/split-term.vim' | |
| " Markdown / Writting | |
| Plugin 'reedes/vim-pencil' | |
| Plugin 'tpope/vim-markdown' | |
| Plugin 'jtratner/vim-flavored-markdown' | |
| Plugin 'LanguageTool' | |
| " Git Support | |
| Plugin 'kablamo/vim-git-log' | |
| Plugin 'gregsexton/gitv' | |
| Plugin 'tpope/vim-fugitive' | |
| "Plugin 'jaxbot/github-issues.vim' | |
| " PHP Support | |
| Plugin 'phpvim/phpcd.vim' | |
| Plugin 'tobyS/pdv' | |
| " Erlang Support | |
| Plugin 'vim-erlang/vim-erlang-tags' | |
| Plugin 'vim-erlang/vim-erlang-runtime' | |
| Plugin 'vim-erlang/vim-erlang-omnicomplete' | |
| Plugin 'vim-erlang/vim-erlang-compiler' | |
| " Elixir Support | |
| Plugin 'elixir-lang/vim-elixir' | |
| Plugin 'avdgaag/vim-phoenix' | |
| Plugin 'mmorearty/elixir-ctags' | |
| Plugin 'mattreduce/vim-mix' | |
| Plugin 'BjRo/vim-extest' | |
| Plugin 'frost/vim-eh-docs' | |
| Plugin 'slashmili/alchemist.vim' | |
| Plugin 'tpope/vim-endwise' | |
| Plugin 'jadercorrea/elixir_generator.vim' | |
| " Elm Support | |
| Plugin 'lambdatoast/elm.vim' | |
| " Color Themes | |
| Plugin 'colors' | |
| call vundle#end() | |
| colorscheme Monokai | |
| filetype plugin indent on | |
| """""""" | |
| if has('autocmd') | |
| filetype plugin indent on | |
| endif | |
| if has('syntax') && !exists('g:syntax_on') | |
| syntax enable | |
| endif | |
| " Use :help 'option' to see the documentation for the given option. | |
| set autoindent | |
| set backspace=indent,eol,start | |
| set complete-=i | |
| set showmatch | |
| set showmode | |
| set smarttab | |
| set nrformats-=octal | |
| set shiftround | |
| set ttimeout | |
| set ttimeoutlen=50 | |
| set incsearch | |
| " Use <C-L> to clear the highlighting of :set hlsearch. | |
| if maparg('<C-L>', 'n') ==# '' | |
| nnoremap <silent> <C-L> :nohlsearch<CR><C-L> | |
| endif | |
| set laststatus=2 | |
| set ruler | |
| set showcmd | |
| set wildmenu | |
| set autoread | |
| set encoding=utf-8 | |
| set tabstop=2 shiftwidth=2 expandtab | |
| set listchars=tab:▒░,trail:▓ | |
| set list | |
| inoremap <C-U> <C-G>u<C-U> | |
| set number | |
| set hlsearch | |
| set ignorecase | |
| set smartcase | |
| " Don't use Ex mode, use Q for formatting | |
| map Q gq | |
| " In many terminal emulators the mouse works just fine, thus enable it. | |
| if has('mouse') | |
| set mouse=a | |
| endif | |
| " do not history when leavy buffer | |
| set hidden | |
| " FIXME: (broken) ctrl s to save | |
| noremap <C-S> :update<CR> | |
| vnoremap <C-S> <C-C>:update<CR> | |
| inoremap <C-S> <Esc>:update<CR> | |
| set nobackup | |
| set nowritebackup | |
| set noswapfile | |
| set fileformats=unix,dos,mac | |
| " exit insert mode | |
| inoremap <C-c> <Esc> | |
| set completeopt=menuone,longest,preview | |
| set splitbelow | |
| " | |
| " Plugins config | |
| " | |
| " NERDTree | |
| nnoremap <S-n> :NERDTreeToggle<CR> | |
| " CtrlP | |
| set wildignore+=*/.git/*,*/.hg/*,*/.svn/* | |
| " Ultisnip | |
| " NOTE: <f1> otherwise it overrides <tab> forever | |
| let g:UltiSnipsExpandTrigger="<f1>" | |
| let g:UltiSnipsJumpForwardTrigger="<f1>" | |
| let g:UltiSnipsJumpBackwardTrigger="<c-k>" | |
| let g:did_UltiSnips_vim_after = 1 | |
| " vim-airline | |
| let g:airline#extensions#tabline#enabled = 1 | |
| let g:airline_powerline_fonts = 1 | |
| " | |
| " Basic shortcuts definitions | |
| " most in visual mode / selection (v or ⇧ v) | |
| " | |
| " Find | |
| map <C-f> / | |
| " indent / deindent after selecting the text with (⇧ v), (.) to repeat. | |
| vnoremap <Tab> > | |
| vnoremap <S-Tab> < | |
| " comment / decomment & normal comment behavior | |
| vmap <C-m> gc | |
| " Disable tComment to escape some entities | |
| let g:tcomment#replacements_xml={} | |
| " Text wrap simpler, then type the open tag or '," | |
| vmap <C-w> S | |
| " Cut, Paste, Copy | |
| vmap <C-x> d | |
| vmap <C-v> p | |
| vmap <C-c> y | |
| " Undo, Redo (broken) | |
| nnoremap <C-z> :undo<CR> | |
| inoremap <C-z> <Esc>:undo<CR> | |
| nnoremap <C-y> :redo<CR> | |
| inoremap <C-y> <Esc>:redo<CR> | |
| " Tabs | |
| let g:airline_theme='badwolf' | |
| let g:airline#extensions#tabline#enabled = 1 | |
| nnoremap <C-b> :tabprevious<CR> | |
| inoremap <C-b> <Esc>:tabprevious<CR>i | |
| nnoremap <C-n> :tabnext<CR> | |
| inoremap <C-n> <Esc>:tabnext<CR>i | |
| nnoremap <C-t> :tabnew<CR> | |
| inoremap <C-t> <Esc>:tabnew<CR>i | |
| nnoremap <C-k> :tabclose<CR> | |
| inoremap <C-k> <Esc>:tabclose<CR>i | |
| " lazy ':' | |
| map \ : | |
| let mapleader = ',' | |
| nnoremap <Leader>p :set paste<CR> | |
| nnoremap <Leader>o :set nopaste<CR> | |
| noremap <Leader>g :GitGutterToggle<CR> | |
| " this machine config | |
| if filereadable(expand("~/.vimrc.local")) | |
| source ~/.vimrc.local | |
| endif | |
| " Settings for Writting | |
| let g:pencil#wrapModeDefault = 'soft' " default is 'hard' | |
| let g:languagetool_jar = '/opt/languagetool/languagetool-commandline.jar' | |
| " Insert mode completion | |
| imap <c-x><c-k> <plug>(fzf-complete-word) | |
| imap <c-x><c-f> <plug>(fzf-complete-path) | |
| imap <c-x><c-j> <plug>(fzf-complete-file-ag) | |
| imap <c-x><c-l> <plug>(fzf-complete-line) | |
| " Enable Mouse | |
| set mouse=a | |
| " Scrolling | |
| set so=8 | |
| " Less Case Sensitivity | |
| set infercase | |
| " Set Term to ZSH | |
| set shell=/bin/bash | |
| " Enable Term Colors | |
| set termguicolors | |
| " Remap Colon | |
| nnoremap ; : | |
| nnoremap : ; | |
| " Remap of Insert Keys | |
| " nnoremap o i | |
| nnoremap o a | |
| nnoremap a o | |
| nnoremap O A | |
| nnoremap A O | |
| " ~/.vimrc | |
| nnoremap <c-w> :q!<CR> | |
| inoremap <c-w> <Esc>:q!<CR> | |
| vnoremap <c-w> <Esc>:q!<CR> | |
| nnoremap <c-l> :NERDTreeToggle<CR> | |
| " Select All With Crtl A | |
| nnoremap <c-a> ggVG | |
| inoremap <c-a> ggVG | |
| " Close Root Files | |
| cmap w!! w !sudo tee % >/dev/null | |
| " Swap Lines | |
| noremap <silent> <C-k> :call <SID>swap_up()<CR> | |
| noremap <silent> <C-j> :call <SID>swap_down()<CR> | |
| imap <C-k> <C-o><C-k> | |
| imap <C-j> <C-o><C-j> | |
| vnoremap <C-j> :m '>+1<CR>gv=gv | |
| vnoremap <C-k> :m '<-2<CR>gv=gvhhh | |
| set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %{noscrollbar#statusline()} | |
| sign define scrollbox texthl=Visual text=[] | |
| fun! ScrollbarGrab() | |
| if getchar()=="\<leftrelease>" || v:mouse_col!=1 | |
| return|en | |
| while getchar()!="\<leftrelease>" | |
| let pos=1+(v:mouse_lnum-line('w0'))*line('$')/winheight(0) | |
| call cursor(pos,1) | |
| sign unplace 789 | |
| exe "sign place 789 line=".(pos*winheight(0)/line('$')+line('w0')).b:scrollexpr | |
| endwhile | |
| endfun | |
| fun! UpdateScrollbox() | |
| sign unplace 789 | |
| exe "sign place 789 line=".(line('w0')*winheight(0)/line('$')+line('w0')).b:scrollexpr | |
| endfun | |
| fun! ToggleScrollbar() | |
| if exists('b:opt_scrollbar') | |
| unlet b:opt_scrollbar | |
| nun <buffer> <leftmouse> | |
| iun <buffer> <leftmouse> | |
| nun <buffer> <scrollwheelup> | |
| nun <buffer> <scrollwheeldown> | |
| iun <buffer> <scrollwheelup> | |
| iun <buffer> <scrollwheeldown> | |
| exe "sign unplace 789 file=" . expand("%:p") | |
| exe "sign unplace 788 file=" . expand("%:p") | |
| el | |
| let b:opt_scrollbar=1 | |
| nno <silent> <buffer> <leftmouse> <leftmouse>:call ScrollbarGrab()<cr> | |
| ino <silent> <buffer> <leftmouse> <leftmouse><c-o>:call ScrollbarGrab()<cr> | |
| nno <buffer> <scrollwheelup> <scrollwheelup>:call UpdateScrollbox()<cr> | |
| nno <buffer> <scrollwheeldown> <scrollwheeldown>:call UpdateScrollbox()<cr> | |
| ino <buffer> <scrollwheelup> <scrollwheelup><c-o>:call UpdateScrollbox()<cr> | |
| ino <buffer> <scrollwheeldown> <scrollwheeldown><c-o>: call UpdateScrollbox()<cr> | |
| let b:scrollexpr=" name=scrollbox file=".expand("%:p") | |
| exe "sign place 789 line=".(line('w0')*winheight(0)/line('$')+line('w0')).b:scrollexpr | |
| exe "sign place 788 line=1".b:scrollexpr | |
| en | |
| endfun | |
| let g:minimap_show='c-u' | |
| let g:minimap_update='<leader>mu' | |
| let g:minimap_close='<leader>gc' | |
| let g:minimap_toggle='<leader>gt' | |
| noremap <C-i> :call ToggleScrollbar()<CR> | |
| noremap <C-o> :terminal<CR> | |
| noremap <C-u> :Minimap<CR> | |
| noremap <C-g> :MinimapClose<CR> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment