]> git.r.bdr.sh - rbdr/dotfiles/blobdiff - config/nvim/init.vim
Update defaults
[rbdr/dotfiles] / config / nvim / init.vim
index f182e5b24332baf557bf8f89d91e7f58484ff103..5ab37d7bbdcf43ca087967906bae784f7e100015 100644 (file)
@@ -1,3 +1,117 @@
-set runtimepath^=~/.vim runtimepath+=~/.vim/after
-let &packpath = &runtimepath
-source ~/.vimrc
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Style
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Editor Style
+set number                              " Show number column
+set nowrap                              " Don't wrap text
+set list                                " Display tabs and trailing space
+let &colorcolumn="80,150"               " Show color columns
+
+" Color
+set termguicolors
+color rbdr
+
+" Tab Style (Always override with editorconfig)
+set tabstop=2                           " 2 Spaces per tab
+set shiftwidth=2                        " Spaces used in Autoindent
+set softtabstop=2                       " Spaces used when soft tabbing
+set expandtab                           " Always use spaces
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Behavior
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Search Behavior
+set ignorecase                          " Ignore case when searching
+set smartcase                           " Unless we use both cases in search
+
+" Autocomplete Behavior
+set wildmode=list:longest,list:full     " Autocomplete common matching string
+                                        " first, and then the full match.
+
+" Folding Behavior
+set foldmethod=syntax                   " Use syntax highlight to define folds
+set foldnestmax=10                      " Max 10 folds
+set foldlevelstart=99                   " Start with all folds open
+
+" Relative Number Behavior
+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>
+
+" Move lines / blocks 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
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" File Specific Behavior
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Makefiles
+au FileType make set noexpandtab        " Makefiles need real tabs
+
+" SNES files
+au BufNewFile,BufRead *.asm,*.s set filetype=snes"
+"
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Local Overrides
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+if filereadable(expand("~/.init.local.vim"))
+  source ~/.init.local.vim
+endif
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Plugin Specific Behavior
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" FZF
+set rtp+=$FZF_VIM_PATH                  " Load FZF vim plugin
+noremap <C-P> :FZF <CR>
+let g:fzf_layout = { 'down': '40%' }
+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'] }
+
+" Svelte Config
+let g:vim_svelte_plugin_use_typescript = 1
+
+" Limelight / Goyo config
+
+let g:limelight_conceal_ctermfg = 'gray'
+let g:limelight_conceal_guifg = 'DarkGray'
+
+autocmd! User GoyoEnter Limelight
+autocmd! User GoyoLeave Limelight!
+nnoremap <leader>i :Limelight!!<CR>==
+inoremap <leader>i <Esc>:Limelight!!<CR>==gi
+vnoremap <leader>i :<C-u>Limelight!!<CR>gv=gv
+nnoremap <leader>g :Goyo<CR>==
+inoremap <leader>g <Esc>:Goyo<CR>==gi
+vnoremap <leader>g :<C-u>Goyo<CR>gv=gv
+
+" Plug
+runtime plugins.vim