From 4fba2992ea68e8fe820491d53197aa2b0444a8df Mon Sep 17 00:00:00 2001 From: Russell Riker Date: Sun, 6 Sep 2020 23:44:45 -0400 Subject: [PATCH] added nvim init.vim to dotfiles --- init.vim | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 init.vim diff --git a/init.vim b/init.vim new file mode 100644 index 0000000..062de2f --- /dev/null +++ b/init.vim @@ -0,0 +1,111 @@ +" ************************************************************* +" my neovim init.vim config file +" Russell R. Riker (aka: Dr. WaSaBi) +" ************************************************************* +set runtimepath^=~/.vim runtimepath+=~/.vim/after +let &packpath = $runtimepath +source ~/.vimrc + +" Some of my settings, need to figure out how to do these things for only some +" file types. like txt and mkd file, wouldn't really want this. +set tabstop=4 +set expandtab +set number + + +call plug#begin('~/.vim/plugged') + Plug 'SirVer/ultisnips' + Plug 'honza/vim-snippets' + Plug 'preservim/nerdtree' + Plug 'roxma/nvim-yarp' + Plug 'tpope/vim-fugitive' + Plug 'tpope/vim-rhubarb' + Plug 'vim-airline/vim-airline' + Plug 'airblade/vim-gitgutter' " git changes + Plug 'vim-airline/vim-airline-themes' + Plug 'itchyny/lightline.vim' + Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } + Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } + Plug 'junegunn/fzf.vim' + Plug 'airblade/vim-rooter' +call plug#end() + +" remap the split window motion keybindings +":map J + +:nmap :NERDTreeToggle +:nnoremap :buffers:buffer + +"This is the default extra key bindings +let g:fzf_action = { + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-v': 'vsplit' } + +" Enable per-command history. +" CTRL-N and CTRL-P will be automatically bound to next-history and +" previous-history instead of down and up. If you don't like the +" change, +" explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS. + +let g:fzf_history_dir = '~/.local/share/fzf-history' + +map :Files +map b :Buffers +nnoremap g :Rg +nnoremap t :Tags +nnoremap m :Marks + + +let g:fzf_tags_command = 'ctags -R' + +" Border color +let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height':0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border':'sharp' } } + +let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' +let $FZF_DEFAULT_COMMAND="rg --files --hidden" + + +" Customize fzf colors to match your color scheme +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'] } + +"Get Files +command! -bang -nargs=? -complete=dir Files + \ call fzf#vim#files(, fzf#vim#with_preview({'options':['--layout=reverse', '--info=inline']}),0) + + +" Get text in files with Rg +command! -bang -nargs=* Rg + \ call fzf#vim#grep( + \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(),1, + \ fzf#vim#with_preview(), 0) + +" Ripgrep advanced +function! RipgrepFzf(query,fullscreen) + let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' + let initial_command = printf(command_fmt,shellescape(a:query)) + let reload_command = printf(command_fmt, '{q}') + let spec = {'options':['--phony', '--query',a:query, '--bind','change:reload:'.reload_command]} + call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) +endfunction + +command! -nargs=* -bang RG call RipgrepFzf(, 0) + +" Git grep +command! -bang -nargs=* GGrep +\ call fzf#vim#grep( +\ 'git grep --line-number'.shellescape(),0, +\ fzf#vim#with_preview({'dir' : systemlist('git rev-parse --show-toplevel')[0]}),0)