" make Python follow PEP8 ( http://www.python.org/dev/peps/pep-0008/ )
au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=79
+" snes syntax highlighting
+au BufNewFile,BufRead *.asm,*.s set filetype=snes"
+
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
" load the plugin and indent settings for the detected filetype
filetype plugin indent on
filetype plugin on
+set omnifunc=syntaxcomplete#Complete
" Opens an edit command with the path of the currently edited file filled in
" Normal mode: <Leader>e
" Normal mode: <Leader>t
map <Leader>te :tabe <C-R>=expand("%:p:h") . "/" <CR>
-" Inserts the path of the currently edited file into a command
-" Command mode: Ctrl+P
-cmap <C-P> <C-R>=expand("%:p:h") . "/" <CR>
-
" Unimpaired configuration
" Bubble single lines
nmap <C-Up> [e
set modelines=10
" Default color scheme
-set t_Co=256
-color molokai
+set termguicolors
+color rbdr
" Directories for swp files
set backupdir=~/.vim/.backup
let g:tagbar_ctags_bin="/usr/local/bin/ctags"
" Color Column
-let &colorcolumn="80,120"
-
-" Add Pathogen
-call pathogen#infect()
+let &colorcolumn="80,150"
" Folding Settings
set foldmethod=syntax
set nofoldenable
set foldlevel=1
-" powerline stuff
-python from powerline.vim import setup as powerline_setup
-python powerline_setup()
-python del powerline_setup
-
" Fix CtrlP root folder and add some ignores
let g:ctrlp_working_path_mode = 0
let g:ctrlp_custom_ignore = '\v[\/](\.(git|hg|svn)|node_modules|DS_Store)$'
nnoremap <C-n> :call NumberToggle()<cr>
-" Syntastic stuff
-let g:syntastic_javascript_checkers = ['eslint']
-let g:syntastic_always_populate_loc_list = 1
-let g:syntastic_check_on_open = 1
-let g:syntastic_check_on_wq = 1
-let g:syntastic_error_symbol = "✕"
-let g:syntastic_warning_symbol = "⚠︎"
-let g:syntastic_quiet_messages = {'level': 'warnings'}
+" Dank Mono Italics
+highlight Keyword cterm=italic
+
+" 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
+
+" Plug configuration
+call plug#begin('~/.vim/plugged')
+
+"
+" Plugin List
+"
+
+" Syntaxes
+Plug 'rbdr/api-notation.vim'
+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'
+
+" Editing
+Plug 'jiangmiao/auto-pairs'
+" Plug 'tpope/vim-endwise.git'
+Plug 'michaeljsmith/vim-indent-object'
+
+" Tools
+Plug 'editorconfig/editorconfig-vim'
+Plug 'w0rp/ale'
+Plug 'vim-scripts/LargeFile'
+Plug 'tpope/vim-fugitive'
+Plug 'milkypostman/vim-togglelist'
+Plug 'jremmen/vim-ripgrep'
+Plug 'lifepillar/vim-mucomplete'
+
+" List ends here. Plugins become visible to Vim after this call.
+call plug#end()