-" FZF config
-set rtp+=/usr/local/opt/fzf
-
-" Inserts the path of the currently edited file into a command
-noremap <C-P> :FZF <CR>
-
-" Map colors to vim colors
-let g:fzf_colors =
-\ { 'fg': ['fg', 'Normal'],
- \ 'bg': ['bg', 'Normal'],
- \ 'hl': ['fg', 'Comment'],
- \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
- \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
- \ 'hl+': ['fg', 'Statement'],
- \ 'info': ['fg', 'PreProc'],
- \ 'border': ['fg', 'Ignore'],
- \ 'prompt': ['fg', 'Conditional'],
- \ 'pointer': ['fg', 'Exception'],
- \ 'marker': ['fg', 'Keyword'],
- \ 'spinner': ['fg', 'Label'],
- \ 'header': ['fg', 'Comment'] }
-
-" ALE config
-let g:ale_linters = {'javascript': ['eslint']}
+" Move things up and down using Ctrl + Shift
+nnoremap <C-S-j> :m .+1<CR>==
+nnoremap <C-S-k> :m .-2<CR>==
+inoremap <C-S-j> <Esc>:m .+1<CR>==gi
+inoremap <C-S-k> <Esc>:m .-2<CR>==gi
+vnoremap <C-S-j> :m '>+1<CR>gv=gv
+vnoremap <C-S-k> :m '<-2<CR>gv=gv
+
+" Limelight / Goyo config
+
+autocmd! User GoyoEnter Limelight
+autocmd! User GoyoLeave Limelight!
+nnoremap <C-S-l> :Limelight!!<CR>==
+inoremap <C-S-l> <Esc>:Limelight!!<CR>==gi
+vnoremap <C-S-l> :<C-u>Limelight!!<CR>gv=gv
+nnoremap <C-S-g> :Goyo<CR>==
+inoremap <C-S-g> <Esc>:Goyo<CR>==gi
+vnoremap <C-S-g> :<C-u>Goyo<CR>gv=gv
+
+"
+" Plug Config
+"
+
+call plug#begin('~/.vim/plugged')
+
+" Syntaxes
+Plug 'https://gitlab.com/rbdr/api-notation.vim.git'
+Plug 'elzr/vim-json'
+Plug 'mustache/vim-mode'
+Plug 'othree/yajs.vim'
+Plug 'ARM9/snes-syntax-vim'
+Plug 'posva/vim-vue'
+Plug 'leafOfTree/vim-svelte-plugin'
+Plug 'bumaociyuan/vim-swift'
+Plug 'udalov/kotlin-vim'
+Plug 'tikhomirov/vim-glsl'
+Plug 'jparise/vim-graphql'
+Plug 'digitaltoad/vim-pug'
+
+" Editing
+Plug 'tpope/vim-endwise'
+Plug 'rstacruz/vim-closer'
+Plug 'michaeljsmith/vim-indent-object'
+Plug 'editorconfig/editorconfig-vim'
+
+" Distraction free editing
+Plug 'junegunn/goyo.vim'
+Plug 'junegunn/limelight.vim'
+
+" Tools
+Plug 'editorconfig/editorconfig-vim'
+Plug 'dense-analysis/ale'
+Plug 'neoclide/coc.nvim', {'branch': 'release'}
+Plug 'vim-scripts/LargeFile'
+Plug 'tpope/vim-fugitive'
+Plug 'milkypostman/vim-togglelist'
+Plug 'jremmen/vim-ripgrep'
+
+" List ends here. Plugins become visible to Vim after this call.
+call plug#end()