Created
February 28, 2018 21:55
-
-
Save evantravers/4e51cc68e4d7fa196f4c50938ae48614 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 | |
set t_Co=256 | |
"============================================= | |
" Initialization | |
"============================================= | |
" Load plug | |
call plug#begin('~/.vim/bundle') | |
Plug '1995eaton/vim-better-css-completion', { 'for': 'css' } | |
Plug '1995eaton/vim-better-javascript-completion', { 'for': 'javascript' } | |
Plug 'AndrewRadev/gapply.vim' | |
Plug 'Raimondi/delimitMate' | |
Plug 'SirVer/ultisnips' | |
Plug 'StanAngeloff/php.vim', { 'for': 'php' } | |
Plug 'Wolfy87/vim-enmasse' | |
Plug 'airblade/vim-gitgutter' | |
Plug 'dsawardekar/wordpress.vim', { 'for': 'php' } | |
Plug 'editorconfig/editorconfig-vim' | |
Plug 'elixir-lang/vim-elixir', { 'for': 'elixir' } | |
Plug 'thinca/vim-ref' | |
Plug 'ElmCast/elm-vim', { 'for': 'elm' } | |
Plug 'fatih/vim-go', { 'for': 'go' } | |
Plug 'golangtw/gocode.vim', { 'for': 'go' } | |
Plug 'gregsexton/MatchTag' | |
Plug 'guns/vim-clojure-static', { 'for': 'clojure' } | |
Plug 'hail2u/vim-css3-syntax', { 'for': 'css' } | |
Plug 'honza/vim-snippets' | |
Plug 'jelera/vim-javascript-syntax', { 'for': 'js' } | |
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': 'yes \| ./install --all' } | |
Plug 'junegunn/fzf.vim' | |
Plug 'junegunn/goyo.vim', { 'on': 'Goyo' } | |
Plug 'junegunn/limelight.vim', { 'on': 'Limelight' } | |
Plug 'junegunn/vim-easy-align' | |
Plug 'junegunn/vim-plug' | |
Plug 'justinmk/vim-sneak' | |
Plug 'kien/rainbow_parentheses.vim', { 'for': 'clojure' } | |
Plug 'kopischke/vim-fetch' | |
Plug 'majutsushi/tagbar' | |
Plug 'mattn/emmet-vim', { 'for': 'html,erb,eruby' } | |
Plug 'mattn/gist-vim' | |
Plug 'mattn/webapi-vim' | |
Plug 'mileszs/ack.vim' | |
Plug 'morhetz/gruvbox' | |
Plug 'mtth/scratch.vim' | |
Plug 'mustache/vim-mustache-handlebars', { 'for': 'hbs,js,handlebars' } | |
Plug 'vim-syntastic/syntastic' | |
Plug 'shawncplus/phpcomplete.vim', { 'for': 'php' } | |
Plug 'simnalamburt/vim-mundo', { 'on': 'MundoToggle' } | |
Plug 'terryma/vim-expand-region' | |
Plug 'tpope/vim-abolish' | |
Plug 'tomtom/tcomment_vim' | |
Plug 'tpope/vim-endwise' | |
Plug 'tpope/vim-eunuch' | |
Plug 'tpope/vim-fireplace', { 'for': 'clojure' } | |
Plug 'tpope/vim-fugitive' | |
Plug 'tpope/vim-git' | |
Plug 'tpope/vim-markdown' | |
Plug 'tpope/vim-ragtag' | |
Plug 'tpope/vim-rails' | |
Plug 'tpope/vim-repeat' | |
Plug 'tpope/vim-rhubarb' | |
Plug 'tpope/vim-sensible' | |
Plug 'tpope/vim-speeddating' | |
Plug 'tpope/vim-surround' | |
Plug 'tpope/vim-unimpaired' | |
Plug 'tpope/vim-vinegar' | |
Plug 'vim-airline/vim-airline' | |
Plug 'vim-airline/vim-airline-themes' | |
Plug 'vim-ruby/vim-ruby', { 'for': 'ruby' } | |
Plug 'vim-scripts/matchit.zip' | |
Plug 'vimwiki/vimwiki' | |
Plug 'wellle/targets.vim' | |
call plug#end() | |
" Load plugins | |
filetype plugin indent on | |
"============================================= | |
" Options | |
"============================================= | |
" Color | |
set termguicolors | |
let g:gruvbox_italic=1 | |
set background=dark | |
colorscheme gruvbox | |
syntax on | |
" Search | |
set ignorecase | |
set smartcase | |
" Tab completion | |
set wildmode=list:longest,full | |
set wildignore=*.swp,*.o,*.so,*.exe,*.dll | |
" Scroll | |
set scrolloff=3 | |
" Tab settings | |
set ts=2 | |
set sw=2 | |
set expandtab | |
" Hud | |
set ruler | |
set number | |
set nowrap | |
set fillchars=vert:\│ | |
set colorcolumn=80 | |
set relativenumber | |
" Indentation | |
set breakindent | |
set showbreak=↳\ \ | |
nnoremap <expr> j v:count ? (v:count > 5 ? "m'" . v:count : '') . 'j' : 'gj' | |
nnoremap <expr> k v:count ? (v:count > 5 ? "m'" . v:count : '') . 'k' : 'gk' | |
" from: https://bluz71.github.io/2017/05/15/vim-tips-tricks.html | |
" Buffers | |
set hidden | |
" Backup Directories | |
set backupdir=~/.vim/backups,. | |
set directory=~/.vim/swaps,. | |
if exists('&undodir') | |
set undodir=~/.vim/undo,. | |
endif | |
"============================================= | |
" Remaps | |
"============================================= | |
let mapleader=',' | |
let maplocalleader=',' | |
" No arrow keys | |
map <Left> :echo "ಠ_ಠ"<cr> | |
map <Right> :echo "ಠ_ಠ"<cr> | |
map <Up> :echo "ಠ_ಠ"<cr> | |
map <Down> :echo "ಠ_ಠ"<cr> | |
" Jump key | |
nnoremap ` ' | |
nnoremap ' ` | |
" Change pane | |
nnoremap <C-h> <C-w>h | |
nnoremap <C-j> <C-w>j | |
nnoremap <C-k> <C-w>k | |
nnoremap <C-l> <C-w>l | |
" Turn off search highlight | |
nnoremap <localleader>/ :nohlsearch<CR> | |
" Trim trailing whitespace | |
nnoremap <localleader>tw m`:%s/\s\+$//e<CR>`` | |
"============================================= | |
" Other Settings | |
"============================================= | |
" Toggle paste mode | |
set pastetoggle=<leader>z | |
" Fancy tag lookup | |
set tags=./tags;/,tags;/ | |
" Fancy macros | |
nnoremap Q @q | |
vnoremap Q :norm @q<cr> | |
" Visible whitespace | |
set listchars=tab:»·,trail:· | |
set list | |
" Soft-wrap for prose | |
command! -nargs=* Wrap set wrap linebreak nolist spell | |
let &showbreak='↪ ' | |
"============================================= | |
" Package Settings | |
"============================================= | |
" junegunn/fzf | |
let $FZF_DEFAULT_COMMAND = 'rg --files --hidden --follow --glob "!.git/*"' | |
let g:fzf_action = { | |
\ 'ctrl-s': 'split', | |
\ 'ctrl-v': 'vsplit' | |
\ } | |
nnoremap <c-p> :FZF<cr> | |
" junegunn/limelight.vim | |
let g:limelight_conceal_ctermfg = 'gray' | |
let g:limelight_conceal_ctermfg = 240 | |
function! GoyoBefore() | |
set tw=78 | |
Limelight | |
endfunction | |
function! GoyoAfter() | |
set tw=0 | |
Limelight! | |
endfunction | |
let g:goyo_callbacks = [function('GoyoBefore'), function('GoyoAfter')] | |
nnoremap <Leader>m :Goyo<CR> | |
" junegunn/vim-easy-align | |
vmap <Enter> <Plug>(EasyAlign) | |
nmap <Leader>a <Plug>(EasyAlign) | |
" majutsushi/tagbar | |
nmap <F9> :TagbarToggle<CR> | |
" mileszs/ack.vim | |
let g:ackprg = 'rg --vimgrep --no-heading' | |
" simnalamburt/vim-mundo | |
nnoremap <F3> :MundoToggle<CR> | |
" tpope/vim-markdown | |
let g:markdown_fenced_languages = ['css', 'erb=eruby', 'javascript', 'js=javascript', 'json=javascript', 'ruby', 'sass', 'xml', 'html'] | |
" vim-airline/vim-airline | |
let g:airline_powerline_fonts=1 | |
let g:bufferline_echo = 0 | |
let airline#extensions#default#section_use_groupitems = 0 | |
" vim-airline/vim-airline-themes | |
let g:airline_theme = 'gruvbox' | |
" vimwiki/vimwiki | |
let g:vimwiki_list = [{'path': '~/vimwiki/', 'syntax': 'markdown', 'ext': '.md'}] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment