more nvim stuff

This commit is contained in:
tomit4 2021-09-25 08:49:21 -07:00
parent f2155314ab
commit 9da2daf852
3 changed files with 425 additions and 0 deletions

243
nvim/\ Normal file
View file

@ -0,0 +1,243 @@
" If downloading this as a .txt rename as init.vim and put in ~/.config/nvim
" Specify a directory for plugins
call plug#begin('~/.vim/plugged')
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'scrooloose/nerdtree'
"Plug 'tsony-tsonev/nerdtree-git-plugin'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
Plug 'ryanoasis/vim-devicons'
Plug 'airblade/vim-gitgutter'
Plug 'ctrlpvim/ctrlp.vim' " fuzzy find files
Plug 'scrooloose/nerdcommenter'
Plug 'luochen1990/rainbow'
"Plug 'prettier/vim-prettier', { 'do': 'yarn install' }
"Plug 'christoomey/vim-tmux-navigator'
Plug 'HerringtonDarkholme/yats.vim' " TS Syntax
" Initialize plugin system
call plug#end()
inoremap jk <ESC>
nmap <C-n> :NERDTreeToggle<CR>
vmap ++ plug>NERDCommenterToggle
nmap ++ plug>NERDCommenterToggle
" open NERDTree automatically
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * NERDTree
"set colored brackets via rainbow"
let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle"
let g:webdevicons_enable = 1
let g:webdevicons_enable_nerdtree = 1
let g:NERDTreeGitStatusWithFlags = 1
"let g:WebDevIconsUnicodeDecorateFolderNodes = 1
"let g:NERDTreeGitStatusNodeColorization = 1
"let g:NERDTreeColorMapCustom = {
"\ "Staged" : "#0ee375",
"\ "Modified" : "#d9bf91",
"\ "Renamed" : "#51C9FC",
"\ "Untracked" : "#FCE77C",
"\ "Unmerged" : "#FC51E6",
"\ "Dirty" : "#FFBD61",
"\ "Clean" : "#87939A",
"\ "Ignored" : "#808080"
"\ }
let g:NERDTreeIgnore = ['^node_modules$']
" vim-prettier
"let g:prettier#quickfix_enabled = 0
"let g:prettier#quickfix_auto_focus = 0
" prettier command for coc
command! -nargs=0 Prettier :CocCommand prettier.formatFile
" run prettier on save
let g:prettier#autoformat = 0
autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync
autocmd BufEnter *.{js,jsx,ts,tsx,vue} :syntax sync fromstart
autocmd BufLeave *.{js,jsx,ts,tsx,vue} :syntax sync clear
" ctrlp
let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard']
" j/k will move virtual lines (lines that wrap)
noremap <silent> <expr> j (v:count == 0 ? 'gj' : 'j')
noremap <silent> <expr> k (v:count == 0 ? 'gk' : 'k')
set relativenumber
set smarttab
set cindent
set tabstop=2
set shiftwidth=2
" always uses spaces instead of tab characters
set expandtab
if(has("termguicolors"))
set termguicolors
endif
syntax enable
colorscheme gruvbox
"colorscheme nord
"colorscheme molokai
hi Normal guibg=NONE ctermbg=NONE
" sync open file with NERDTree
" " Check if NERDTree is open or active
function! IsNERDTreeOpen()
return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
endfunction
" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable
" file, and we're not in vimdiff
function! SyncTree()
if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff
NERDTreeFind
wincmd p
endif
endfunction
" Highlight currently open buffer in NERDTree
autocmd BufEnter * call SyncTree()
" coc config
let g:coc_global_extensions = [
\ 'coc-snippets',
\ 'coc-pairs',
\ 'coc-tsserver',
\ 'coc-eslint',
\ 'coc-prettier',
\ 'coc-json',
\ ]
" from readme
" if hidden is not set, TextEdit might fail.
set hidden " Some servers have issues with backup files, see #649 set nobackup set nowritebackup " Better display for messages set cmdheight=2 " You will have bad experience for diagnostic messages when it's default 4000.
set updatetime=300
" don't give |ins-completion-menu| messages.
set shortmess+=c
" always show signcolumns
set signcolumn=yes
" Use tab for trigger completion with characters ahead and navigate.
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Use <c-space> to trigger completion.
inoremap <silent><expr> <c-space> coc#refresh()
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position.
" Coc only does snippet and additional edit on confirm.
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
" Or use `complete_info` if your vim support it, like:
" inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
" Use `[g` and `]g` to navigate diagnostics
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
" Remap keys for gotos
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window
nnoremap <silent> K :call <SID>show_documentation()<CR>
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
" Highlight symbol under cursor on CursorHold
autocmd CursorHold * silent call CocActionAsync('highlight')
" Remap for rename current word
nmap <F2> <Plug>(coc-rename)
" Remap for format selected region
xmap <leader>f <Plug>(coc-format-selected)
nmap <leader>f <Plug>(coc-format-selected)
augroup mygroup
autocmd!
" Setup formatexpr specified filetype(s).
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
" Update signature help on jump placeholder
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
augroup end
" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph
xmap <leader>a <Plug>(coc-codeaction-selected)
nmap <leader>a <Plug>(coc-codeaction-selected)
" Remap for do codeAction of current line
nmap <leader>ac <Plug>(coc-codeaction)
" Fix autofix problem of current line
nmap <leader>qf <Plug>(coc-fix-current)
" Create mappings for function text object, requires document symbols feature of languageserver.
xmap if <Plug>(coc-funcobj-i)
xmap af <Plug>(coc-funcobj-a)
omap if <Plug>(coc-funcobj-i)
omap af <Plug>(coc-funcobj-a)
" Use <C-d> for select selections ranges, needs server support, like: coc-tsserver, coc-python
nmap <silent> <C-d> <Plug>(coc-range-select)
xmap <silent> <C-d> <Plug>(coc-range-select)
" Use `:Format` to format current buffer
command! -nargs=0 Format :call CocAction('format')
" Use `:Fold` to fold current buffer
command! -nargs=? Fold :call CocAction('fold', <f-args>)
" use `:OR` for organize import of current buffer
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
" Add status line support, for integration with other plugin, checkout `:h coc-status`
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
" Using CocList
" Show all diagnostics
nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr>
" Manage extensions
nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
" Show commands
nnoremap <silent> <space>c :<C-u>CocList commands<cr>
" Find symbol of current document
nnoremap <silent> <space>o :<C-u>CocList outline<cr>
" Search workspace symbols
nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
" Do default action for next item.
nnoremap <silent> <space>j :<C-u>CocNext<CR>
" Do default action for previous item.
nnoremap <silent> <space>k :<C-u>CocPrev<CR>
" Resume latest coc list
nnoremap <silent> <space>p :<C-u>CocListResume<CR>

177
nvim/colors/menguless.vim Normal file
View file

@ -0,0 +1,177 @@
" menguless.vim -- Vim color scheme.
" Author: Zekeriya Koc (info@zeko.dev)
" Webpage: https://github.com/zekzekus/dotfiles
" Description: A nice color scheme
" Last Change: 2020-08-31
hi clear
if exists("syntax_on")
syntax reset
endif
let colors_name = "menguless"
if ($TERM =~ '256' || &t_Co >= 256) || has("gui_running")
hi Normal ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi NonText ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Comment ctermbg=0 ctermfg=7 cterm=NONE guibg=#053230 guifg=#5b7a80 gui=NONE
hi Constant ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Error ctermbg=0 ctermfg=9 cterm=NONE guibg=#053230 guifg=#d33934 gui=NONE
hi Identifier ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Ignore ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi PreProc ctermbg=0 ctermfg=15 cterm=bold guibg=#053230 guifg=#f8efd8 gui=bold
hi Special ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Statement ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi String ctermbg=0 ctermfg=8 cterm=NONE guibg=#053230 guifg=#76929b gui=NONE
hi Todo ctermbg=0 ctermfg=12 cterm=bold guibg=#053230 guifg=#3b80a1 gui=bold
hi Type ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Underlined ctermbg=0 ctermfg=15 cterm=underline guibg=#053230 guifg=#f8efd8 gui=underline
hi StatusLine ctermbg=6 ctermfg=15 cterm=NONE guibg=#2d555a guifg=#f8efd8 gui=NONE
hi StatusLineNC ctermbg=0 ctermfg=15 cterm=underline guibg=#053230 guifg=#f8efd8 gui=underline
hi VertSplit ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi TabLine ctermbg=6 ctermfg=15 cterm=NONE guibg=#2d555a guifg=#f8efd8 gui=NONE
hi TabLineFill ctermbg=6 ctermfg=15 cterm=NONE guibg=#2d555a guifg=#f8efd8 gui=NONE
hi TabLineSel ctermbg=2 ctermfg=15 cterm=NONE guibg=#063a38 guifg=#f8efd8 gui=NONE
hi Title ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi CursorLine ctermbg=2 ctermfg=NONE cterm=NONE guibg=#063a38 guifg=NONE gui=NONE
hi LineNr ctermbg=2 ctermfg=7 cterm=NONE guibg=#063a38 guifg=#5b7a80 gui=NONE
hi CursorLineNr ctermbg=0 ctermfg=10 cterm=NONE guibg=#053230 guifg=#51a163 gui=NONE
hi helpLeadBlank ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi helpNormal ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Visual ctermbg=11 ctermfg=15 cterm=NONE guibg=#969c46 guifg=#f8efd8 gui=NONE
hi VisualNOS ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Pmenu ctermbg=6 ctermfg=15 cterm=NONE guibg=#2d555a guifg=#f8efd8 gui=NONE
hi PmenuSbar ctermbg=2 ctermfg=15 cterm=NONE guibg=#063a38 guifg=#f8efd8 gui=NONE
hi PmenuSel ctermbg=12 ctermfg=15 cterm=NONE guibg=#3b80a1 guifg=#f8efd8 gui=NONE
hi PmenuThumb ctermbg=10 ctermfg=15 cterm=NONE guibg=#51a163 guifg=#f8efd8 gui=NONE
hi FoldColumn ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Folded ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi WildMenu ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi SpecialKey ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi DiffAdd ctermbg=10 ctermfg=15 cterm=NONE guibg=#51a163 guifg=#f8efd8 gui=NONE
hi DiffChange ctermbg=12 ctermfg=15 cterm=NONE guibg=#3b80a1 guifg=#f8efd8 gui=NONE
hi DiffDelete ctermbg=9 ctermfg=15 cterm=NONE guibg=#d33934 guifg=#f8efd8 gui=NONE
hi DiffText ctermbg=10 ctermfg=15 cterm=NONE guibg=#51a163 guifg=#f8efd8 gui=NONE
hi IncSearch ctermbg=10 ctermfg=15 cterm=NONE guibg=#51a163 guifg=#f8efd8 gui=NONE
hi Search ctermbg=10 ctermfg=15 cterm=NONE guibg=#51a163 guifg=#f8efd8 gui=NONE
hi Directory ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi MatchParen ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi SpellBad ctermbg=0 ctermfg=9 cterm=underline guibg=#053230 guifg=#d33934 gui=underline guisp=#d33934
hi SpellCap ctermbg=0 ctermfg=15 cterm=underline guibg=#053230 guifg=#f8efd8 gui=underline guisp=#3b80a1
hi SpellLocal ctermbg=0 ctermfg=15 cterm=underline guibg=#053230 guifg=#f8efd8 gui=underline guisp=#ff00ff
hi SpellRare ctermbg=0 ctermfg=15 cterm=underline guibg=#053230 guifg=#f8efd8 gui=underline guisp=#00ffff
hi ColorColumn ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi SignColumn ctermbg=2 ctermfg=15 cterm=NONE guibg=#063a38 guifg=#f8efd8 gui=NONE
hi ErrorMsg ctermbg=9 ctermfg=15 cterm=NONE guibg=#d33934 guifg=#f8efd8 gui=NONE
hi ModeMsg ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi MoreMsg ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Question ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi Cursor ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi CursorColumn ctermbg=2 ctermfg=NONE cterm=NONE guibg=#063a38 guifg=NONE gui=NONE
hi QuickFixLine ctermbg=2 ctermfg=15 cterm=NONE guibg=#063a38 guifg=#f8efd8 gui=NONE
hi Conceal ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi ToolbarLine ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi ToolbarButton ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi debugPC ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
hi debugBreakpoint ctermbg=0 ctermfg=15 cterm=NONE guibg=#053230 guifg=#f8efd8 gui=NONE
elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16
set t_Co=16
hi Normal ctermbg=black ctermfg=white cterm=NONE
hi NonText ctermbg=black ctermfg=white cterm=NONE
hi Comment ctermbg=black ctermfg=gray cterm=NONE
hi Constant ctermbg=black ctermfg=white cterm=NONE
hi Error ctermbg=black ctermfg=red cterm=NONE
hi Identifier ctermbg=black ctermfg=white cterm=NONE
hi Ignore ctermbg=black ctermfg=white cterm=NONE
hi PreProc ctermbg=black ctermfg=white cterm=bold
hi Special ctermbg=black ctermfg=white cterm=NONE
hi Statement ctermbg=black ctermfg=white cterm=NONE
hi String ctermbg=black ctermfg=darkgray cterm=NONE
hi Todo ctermbg=black ctermfg=blue cterm=bold
hi Type ctermbg=black ctermfg=white cterm=NONE
hi Underlined ctermbg=black ctermfg=white cterm=underline
hi StatusLine ctermbg=darkcyan ctermfg=white cterm=NONE
hi StatusLineNC ctermbg=black ctermfg=white cterm=underline
hi VertSplit ctermbg=black ctermfg=white cterm=NONE
hi TabLine ctermbg=darkcyan ctermfg=white cterm=NONE
hi TabLineFill ctermbg=darkcyan ctermfg=white cterm=NONE
hi TabLineSel ctermbg=darkgreen ctermfg=white cterm=NONE
hi Title ctermbg=black ctermfg=white cterm=NONE
hi CursorLine ctermbg=darkgreen ctermfg=NONE cterm=NONE
hi LineNr ctermbg=darkgreen ctermfg=gray cterm=NONE
hi CursorLineNr ctermbg=black ctermfg=green cterm=NONE
hi helpLeadBlank ctermbg=black ctermfg=white cterm=NONE
hi helpNormal ctermbg=black ctermfg=white cterm=NONE
hi Visual ctermbg=yellow ctermfg=white cterm=NONE
hi VisualNOS ctermbg=black ctermfg=white cterm=NONE
hi Pmenu ctermbg=darkcyan ctermfg=white cterm=NONE
hi PmenuSbar ctermbg=darkgreen ctermfg=white cterm=NONE
hi PmenuSel ctermbg=blue ctermfg=white cterm=NONE
hi PmenuThumb ctermbg=green ctermfg=white cterm=NONE
hi FoldColumn ctermbg=black ctermfg=white cterm=NONE
hi Folded ctermbg=black ctermfg=white cterm=NONE
hi WildMenu ctermbg=black ctermfg=white cterm=NONE
hi SpecialKey ctermbg=black ctermfg=white cterm=NONE
hi DiffAdd ctermbg=green ctermfg=white cterm=NONE
hi DiffChange ctermbg=blue ctermfg=white cterm=NONE
hi DiffDelete ctermbg=red ctermfg=white cterm=NONE
hi DiffText ctermbg=green ctermfg=white cterm=NONE
hi IncSearch ctermbg=green ctermfg=white cterm=NONE
hi Search ctermbg=green ctermfg=white cterm=NONE
hi Directory ctermbg=black ctermfg=white cterm=NONE
hi MatchParen ctermbg=black ctermfg=white cterm=NONE
hi SpellBad ctermbg=black ctermfg=red cterm=underline
hi SpellCap ctermbg=black ctermfg=white cterm=underline
hi SpellLocal ctermbg=black ctermfg=white cterm=underline
hi SpellRare ctermbg=black ctermfg=white cterm=underline
hi ColorColumn ctermbg=black ctermfg=white cterm=NONE
hi SignColumn ctermbg=darkgreen ctermfg=white cterm=NONE
hi ErrorMsg ctermbg=red ctermfg=white cterm=NONE
hi ModeMsg ctermbg=black ctermfg=white cterm=NONE
hi MoreMsg ctermbg=black ctermfg=white cterm=NONE
hi Question ctermbg=black ctermfg=white cterm=NONE
hi Cursor ctermbg=black ctermfg=white cterm=NONE
hi CursorColumn ctermbg=darkgreen ctermfg=NONE cterm=NONE
hi QuickFixLine ctermbg=darkgreen ctermfg=white cterm=NONE
hi Conceal ctermbg=black ctermfg=white cterm=NONE
hi ToolbarLine ctermbg=black ctermfg=white cterm=NONE
hi ToolbarButton ctermbg=black ctermfg=white cterm=NONE
hi debugPC ctermbg=black ctermfg=white cterm=NONE
hi debugBreakpoint ctermbg=black ctermfg=white cterm=NONE
endif
hi link EndOfBuffer NonText
hi link Number Constant
hi link StatusLineTerm StatusLine
hi link StatusLineTermNC StatusLineNC
hi link WarningMsg Error
hi link CursorIM Cursor
hi link Terminal Normal
hi link diffAdded DiffAdd
hi link diffRemoved DiffDelete
hi link clojureParen Comment
hi link rustCommentLineDoc rustCommentLine
let g:terminal_ansi_colors = [
\ '#000000',
\ '#800000',
\ '#008000',
\ '#808000',
\ '#000080',
\ '#800080',
\ '#008080',
\ '#c0c0c0',
\ '#808080',
\ '#d33934',
\ '#51a163',
\ '#969c46',
\ '#3b80a1',
\ '#ff00ff',
\ '#00ffff',
\ '#ffffff',
\ ]
" Generated with RNB (https://github.com/romainl/vim-rnb)

View file

@ -13,6 +13,7 @@ Plug 'airblade/vim-gitgutter'
Plug 'ctrlpvim/ctrlp.vim' " fuzzy find files
Plug 'scrooloose/nerdcommenter'
Plug 'luochen1990/rainbow'
Plug 'yaegassy/coc-volar'
"Plug 'prettier/vim-prettier', { 'do': 'yarn install' }
"Plug 'christoomey/vim-tmux-navigator'
@ -89,9 +90,13 @@ endif
syntax enable
colorscheme gruvbox
"colorscheme menguless "wish this had syntax highlighting..."
"colorscheme nord
"colorscheme molokai
"Enable transparency
hi Normal guibg=NONE ctermbg=NONE
" sync open file with NERDTree
" " Check if NERDTree is open or active
function! IsNERDTreeOpen()