let mapleader = " " vnoremap J :m '>+1gv=gv vnoremap K :m '<-2gv=gv nnoremap / /\v vnoremap / /\v nnoremap / :Rg vnoremap / :Rg nnoremap ` :noh " No Cheating nnoremap nnoremap nnoremap nnoremap inoremap inoremap inoremap inoremap " No weird line jumps nnoremap j gj nnoremap k gk " FZF Bindings noremap :GFiles noremap pf :Files nnoremap C :Colors nnoremap B :Buffers nnoremap fl :Lines noremap m :History noremap / :Rg " Use fuzzy completion relative filepaths across directory imap fzf#vim#complete#path('git ls-files $(git rev-parse --show-toplevel)') " Better command history with q: command! CmdHist call fzf#vim#command_history({'right': '40'}) nnoremap q: :CmdHist " Better search history command! QHist call fzf#vim#search_history({'right': '40'}) nnoremap q/ :QHist command! -bang -nargs=* Ack call fzf#vim#ag(, {'down': '40%', 'options': --no-color'}) inoremap nnoremap vnoremap inoremap hh " - Avoid using standard Vim directory names like 'plugin' call plug#begin() Plug 'gruvbox-community/gruvbox' Plug 'tpope/vim-repeat' Plug 'tpope/vim-surround' Plug 'tpope/vim-fugitive' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' Plug 'stsewd/fzf-checkout.vim' Plug 'leafgarland/typescript-vim' Plug 'airblade/vim-gitgutter' Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'tpope/vim-rhubarb' Plug 'thesis/vim-solidity' Plug 'vim-test/vim-test' " Initialize plugin system call plug#end() syntax on let g:gruvbox_contrast_dark = 'hard' let g:gruvbox_italic=1 let g:gruvbox_invert_selection='0' set termguicolors set background=dark augroup RAH_CODES autocmd! autocmd vimenter * ++nested colorscheme gruvbox augroup END "let g:netrw_banner = 0 "let g:netrw_liststyle = 3 "let g:netrw_browse_split = 4 "let g:netrw_altv = 1 "let g:netrw_winsize = 25 "augroup ProjectDrawer " autocmd! " autocmd VimEnter * :Vexplore "augroup END nnoremap pv :Vex let g:airline_powerline_fonts = 1 let g:airline#extensions#tGabline#enabled = 1 " Completion set completeopt=menuone,noinsert,noselect let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy'] " Git Fugitive nnoremap gs :G nnoremap gh :diffget //3 nnoremap gu :diffget //2 nnoremap gc :GCheckout nnoremap ga :G add %:p nnoremap gc :G commit -v -q nnoremap gt :G commit -v -q %:p nnoremap gca :G commit --amend --no-edit nnoremap gd :Gdiff nnoremap ge :Gedit nnoremap gr :Gread nnoremap gw :Gwrite nnoremap gl :silent! Glog:bot copen nnoremap gp :Ggrep nnoremap gm :Gmove nnoremap gb :G branch nnoremap go :G checkout nnoremap gps :Dispatch! git push nnoremap gpl :Dispatch! git pull " Copy to system clipboard vnoremap y "*y vnoremap yy "+y " Move buffers nmap sp :bprev nmap sn :bnext