Created
September 7, 2020 19:03
-
-
Save dblanken/9efde49ed904a287f9e80319d79ce65a to your computer and use it in GitHub Desktop.
Prime's init.vim with nvim_lsp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
syntax on | |
set guicursor= | |
set relativenumber | |
set nohlsearch | |
set hidden | |
set noerrorbells | |
set tabstop=4 softtabstop=4 | |
set shiftwidth=4 | |
set expandtab | |
set smartindent | |
set nu | |
set nowrap | |
set smartcase | |
set noswapfile | |
set nobackup | |
set undodir=~/.vim/undodir | |
set undofile | |
set incsearch | |
set termguicolors | |
set scrolloff=8 | |
set noshowmode | |
" Give more space for displaying messages. | |
set cmdheight=2 | |
" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable | |
" delays and poor user experience. | |
set updatetime=50 | |
" Don't pass messages to |ins-completion-menu|. | |
set shortmess+=c | |
set colorcolumn=80 | |
highlight ColorColumn ctermbg=0 guibg=lightgrey | |
call plug#begin('~/.vim/plugged') | |
" Plug 'neoclide/coc.nvim', {'branch': 'release'} | |
Plug 'tweekmonster/gofmt.vim' | |
Plug 'tpope/vim-fugitive' | |
Plug 'vim-utils/vim-man' | |
Plug 'mbbill/undotree' | |
Plug 'sheerun/vim-polyglot' | |
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } | |
Plug 'junegunn/fzf.vim' | |
Plug 'stsewd/fzf-checkout.vim' | |
Plug 'vuciv/vim-bujo' | |
Plug 'tpope/vim-dispatch' | |
Plug 'ThePrimeagen/vim-apm' | |
Plug 'theprimeagen/vim-be-good' | |
Plug 'vim-airline/vim-airline' | |
Plug 'gruvbox-community/gruvbox' | |
Plug 'neovim/nvim-lspconfig' | |
" I AM SO SORRY FOR DOING COLOR SCHEMES IN MY VIMRC, BUT I HAVE | |
" TOOOOOOOOOOOOO | |
Plug 'colepeters/spacemacs-theme.vim' | |
Plug 'sainnhe/gruvbox-material' | |
Plug 'phanviet/vim-monokai-pro' | |
Plug 'flazz/vim-colorschemes' | |
Plug 'chriskempson/base16-vim' | |
call plug#end() | |
let g:gruvbox_contrast_dark = 'hard' | |
if exists('+termguicolors') | |
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" | |
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" | |
endif | |
let g:gruvbox_invert_selection='0' | |
" --- vim go (polyglot) settings. | |
let g:go_highlight_build_constraints = 1 | |
let g:go_highlight_extra_types = 1 | |
let g:go_highlight_fields = 1 | |
let g:go_highlight_functions = 1 | |
let g:go_highlight_methods = 1 | |
let g:go_highlight_operators = 1 | |
let g:go_highlight_structs = 1 | |
let g:go_highlight_types = 1 | |
let g:go_highlight_function_parameters = 1 | |
let g:go_highlight_function_calls = 1 | |
let g:go_highlight_generate_tags = 1 | |
let g:go_highlight_format_strings = 1 | |
let g:go_highlight_variable_declarations = 1 | |
let g:go_auto_sameids = 1 | |
let g:vim_be_good_log_file = 1 | |
colorscheme gruvbox | |
set background=dark | |
if executable('rg') | |
let g:rg_derive_root='true' | |
endif | |
let loaded_matchparen = 1 | |
let mapleader = " " | |
let g:netrw_browse_split = 2 | |
let g:netrw_banner = 0 | |
let g:netrw_winsize = 25 | |
let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } } | |
let $FZF_DEFAULT_OPTS='--reverse' | |
let g:fzf_branch_actions = { | |
\ 'track': { | |
\ 'prompt': 'Track> ', | |
\ 'execute': 'echo system("{git} checkout --track {branch}")', | |
\ 'multiple': v:false, | |
\ 'keymap': 'ctrl-t', | |
\ 'required': ['branch'], | |
\ 'confirm': v:false, | |
\ }, | |
\} | |
nnoremap <leader>gc :GBranches<CR> | |
nnoremap <leader>ga :Git fetch --all<CR> | |
nnoremap <leader>grum :Git rebase upstream/master<CR> | |
nnoremap <leader>grom :Git rebase origin/master<CR> | |
nnoremap <leader>ghw :h <C-R>=expand("<cword>")<CR><CR> | |
nnoremap <leader>prw :CocSearch <C-R>=expand("<cword>")<CR><CR> | |
nnoremap <leader>pw :Rg <C-R>=expand("<cword>")<CR><CR> | |
nnoremap <leader>h :wincmd h<CR> | |
nnoremap <leader>j :wincmd j<CR> | |
nnoremap <leader>k :wincmd k<CR> | |
nnoremap <leader>l :wincmd l<CR> | |
nnoremap <leader>u :UndotreeShow<CR> | |
nnoremap <leader>pv :wincmd v<bar> :Ex <bar> :vertical resize 30<CR> | |
nnoremap <Leader>ps :Rg<SPACE> | |
nnoremap <C-p> :GFiles<CR> | |
nnoremap <Leader>pf :Files<CR> | |
nnoremap <Leader><CR> :so ~/.config/nvim/init.vim<CR> | |
nnoremap <Leader>+ :vertical resize +5<CR> | |
nnoremap <Leader>- :vertical resize -5<CR> | |
nnoremap <Leader>rp :resize 100<CR> | |
nnoremap <Leader>ee oif err != nil {<CR>log.Fatalf("%+v\n", err)<CR>}<CR><esc>kkI<esc> | |
vnoremap J :m '>+1<CR>gv=gv | |
vnoremap K :m '<-2<CR>gv=gv | |
vnoremap X "_d | |
" vim TODO | |
nmap <Leader>tu <Plug>BujoChecknormal | |
nmap <Leader>th <Plug>BujoAddnormal | |
let g:bujo#todo_file_path = $HOME . "/.cache/bujo" | |
" Vim with me | |
nnoremap <leader>vwm :colorscheme gruvbox<bar>:set background=dark<CR> | |
nmap <leader>vtm :highlight Pmenu ctermbg=gray guibg=gray | |
inoremap <C-c> <esc> | |
"command! -nargs=0 Prettier :CocCommand prettier.formatFile | |
"inoremap <silent><expr> <C-space> coc#refresh() | |
" GoTo code navigation. | |
" nmap <leader>gd <Plug>(coc-definition) | |
" nmap <leader>gy <Plug>(coc-type-definition) | |
" nmap <leader>gi <Plug>(coc-implementation) | |
" nmap <leader>gr <Plug>(coc-references) | |
" nmap <leader>rr <Plug>(coc-rename) | |
" nmap <leader>g[ <Plug>(coc-diagnostic-prev) | |
" nmap <leader>g] <Plug>(coc-diagnostic-next) | |
" nmap <silent> <leader>gp <Plug>(coc-diagnostic-prev-error) | |
" nmap <silent> <leader>gn <Plug>(coc-diagnostic-next-error) | |
" nnoremap <leader>cr :CocRestart | |
" Sweet Sweet FuGITive | |
nmap <leader>gh :diffget //3<CR> | |
nmap <leader>gu :diffget //2<CR> | |
nmap <leader>gs :G<CR> | |
fun! TrimWhitespace() | |
let l:save = winsaveview() | |
keeppatterns %s/\s\+$//e | |
call winrestview(l:save) | |
endfun | |
" YES | |
com! W w | |
augroup highlight_yank | |
autocmd! | |
autocmd TextYankPost * silent! lua require'vim.highlight'.on_yank(timeuout = 200) | |
augroup END | |
augroup THE_PRIMEAGEN | |
autocmd! | |
autocmd BufWritePre * :call TrimWhitespace() | |
autocmd VimEnter * :VimApm | |
augroup END | |
lua <<EOF | |
require'nvim_lsp'.tsserver.setup{} | |
EOF | |
nnoremap <silent> gd <cmd>lua vim.lsp.buf.declaration()<CR> | |
nnoremap <silent> <c-]> <cmd>lua vim.lsp.buf.definition()<CR> | |
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR> | |
nnoremap <silent> gD <cmd>lua vim.lsp.buf.implementation()<CR> | |
nnoremap <silent> <c-k> <cmd>lua vim.lsp.buf.signature_help()<CR> | |
nnoremap <silent> 1gD <cmd>lua vim.lsp.buf.type_definition()<CR> | |
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR> | |
nnoremap <silent> g0 <cmd>lua vim.lsp.buf.document_symbol()<CR> | |
nnoremap <silent> gW <cmd>lua vim.lsp.buf.workspace_symbol()<CR> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment