" Status bar
set laststatus=2
-" Without setting this, ZoomWin restores windows in a way that causes
-" equalalways behavior to be triggered the next time CommandT is used.
-" This is likely a bludgeon to solve some other issue, but it works
-set noequalalways
-
" NERDTree configuration
let NERDTreeIgnore=['\.pyc$', '\.rbc$', '\~$']
map <Leader>n :NERDTreeToggle<CR>
" 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
vmap <C-Up> [egv
vmap <C-Down> ]egv
-" Enable syntastic syntax checking
-let g:syntastic_enable_signs=1
-let g:syntastic_quiet_warnings=1
-
" gist-vim defaults
if has("mac")
let g:gist_clip_command = 'pbcopy'
set modelines=10
" Default color scheme
-set t_Co=256
-color railscasts
+set termguicolors
+color rbdr
" Directories for swp files
set backupdir=~/.vim/.backup
let g:tagbar_ctags_bin="/usr/local/bin/ctags"
" Color Column
-set colorcolumn=81
-
-" Add Pathogen
-call pathogen#infect()
+let &colorcolumn="80,150"
" Folding Settings
set foldmethod=syntax
set nofoldenable
set foldlevel=1
-" powerline stuff
-let g:Powerline_symbols = 'fancy'
-
" 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)$'
+let g:ctrlp_custom_ignore = '\v[\/](\.(git|hg|svn)|node_modules|DS_Store)$'
+let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files']
+
+" Relative numbers
+autocmd FocusLost * :set norelativenumber
+autocmd InsertEnter * :set norelativenumber
+autocmd InsertLeave * :set relativenumber
+autocmd CursorMoved * :set relativenumber
+
+function! NumberToggle()
+ if(&relativenumber == 1)
+ set norelativenumber
+ else
+ set relativenumber
+ endif
+endfunction
+
+nnoremap <C-n> :call NumberToggle()<cr>
+
+" 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()