diff options
Diffstat (limited to '.config/nvim/init.vim')
| -rw-r--r-- | .config/nvim/init.vim | 361 |
1 files changed, 0 insertions, 361 deletions
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim deleted file mode 100644 index 64ae501..0000000 --- a/.config/nvim/init.vim +++ /dev/null @@ -1,361 +0,0 @@ -set nocompatible " be iMproved, required -" auto-install vim-plug -if empty(glob('~/.config/nvim/autoload/plug.vim')) - silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \ - https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - autocmd VimEnter * PlugInstall -endif -call plug#begin('~/.config/nvim/plugged') - -Plug 'neoclide/coc.nvim', {'branch': 'release'} -" rust lang -Plug 'rust-lang/rust.vim' -" go -Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } -" linting -" Plug 'dense-analysis/ale' -"C++ Highlighting -Plug 'octol/vim-cpp-enhanced-highlight' -"GLSL -Plug 'tikhomirov/vim-glsl' -" latex -Plug 'lervag/vimtex' -Plug 'morhetz/gruvbox' - -Plug 'psliwka/vim-smoothie' - -Plug 'vim-airline/vim-airline' -Plug 'vim-airline/vim-airline-themes' - -Plug 'edkolev/tmuxline.vim' - -" make searching less annoying -Plug 'romainl/vim-cool' - -" :) -Plug 'jasonccox/vim-wayland-clipboard' -Plug 'lambdalisue/suda.vim' - - -call plug#end() - -filetype plugin indent on " required -" To ignore plugin indent changes, instead use: -"filetype plugin on -" -" Brief help -" :PluginList - lists configured plugins -" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate -" :PluginSearch foo - searches for foo; append `!` to refresh local cache -" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal -" -" see :h vundle for more details or wiki for FAQ -" Put your non-Plugin stuff after this line -" -colorscheme gruvbox - -hi clear SignColumn - -set textwidth=80 -au BufRead,BufNewFile *.html,*.py,*.json,*.yaml set textwidth=0 - -set clipboard+=unnamedplus -" " Copy to clipboard -vnoremap <leader>y "+y -nnoremap <leader>Y "+yg_ -nnoremap <leader>y "+y -nnoremap <leader>yy "+yy - -" " Paste from clipboard -nnoremap <leader>p "+p -nnoremap <leader>P "+P -vnoremap <leader>p "+p -vnoremap <leader>P "+P - -"python with virtualenv support -py3 << EOF -import os -import sys -if 'VIRTUAL_ENV' in os.environ: - project_base_dir = os.environ['VIRTUAL_ENV'] - activate_this = os.path.join(project_base_dir, 'bin/activate_this.py') - execfile(activate_this, dict(__file__=activate_this)) -EOF - -" ##################################################################### -" ##################################################################### -" ##################################################################### -" ########################## COC STUFF ################################ -" ##################################################################### -" ##################################################################### -" ##################################################################### - -" Use tab for trigger completion with characters ahead and navigate. -" NOTE: There's always complete item selected by default, you may want to enable -" no select by `"suggest.noselect": true` in your configuration file. -" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by -" other plugin before putting this into your config. -inoremap <silent><expr> <TAB> - \ coc#pum#visible() ? coc#pum#next(1) : - \ CheckBackspace() ? "\<Tab>" : - \ coc#refresh() -inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>" - -" Make <CR> to accept selected completion item or notify coc.nvim to format -" <C-g>u breaks current undo, please make your own choice. -inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() - \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" - -function! CheckBackspace() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - -" Use <c-space> to trigger completion. -if has('nvim') - inoremap <silent><expr> <c-space> coc#refresh() -else - inoremap <silent><expr> <c-@> coc#refresh() -endif - -" Use `[g` and `]g` to navigate diagnostics -" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. -nmap <silent> [g <Plug>(coc-diagnostic-prev) -nmap <silent> ]g <Plug>(coc-diagnostic-next) - -" GoTo code navigation. -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 ShowDocumentation()<CR> - -function! ShowDocumentation() - if CocAction('hasProvider', 'hover') - call CocActionAsync('doHover') - else - call feedkeys('K', 'in') - endif -endfunction - -" Highlight the symbol and its references when holding the cursor. -autocmd CursorHold * silent call CocActionAsync('highlight') - -" Symbol renaming. -nmap <leader>rn <Plug>(coc-rename) - -" Formatting selected code. -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 - -" Applying code actions to the selected code block. -" Example: `<leader>aap` for current paragraph -xmap <leader>a <Plug>(coc-codeaction-selected) -nmap <leader>a <Plug>(coc-codeaction-selected) - -" Remap keys for apply code actions at the cursor position. -nmap <leader>ac <Plug>(coc-codeaction-cursor) -" Remap keys for apply code actions affect whole buffer. -nmap <leader>as <Plug>(coc-codeaction-source) -" Apply the most preferred quickfix action to fix diagnostic on the current line. -nmap <leader>qf <Plug>(coc-fix-current) - -" Remap keys for apply refactor code actions. -nmap <silent> <leader>re <Plug>(coc-codeaction-refactor) -xmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected) -nmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected) - -" Run the Code Lens action on the current line. -nmap <leader>cl <Plug>(coc-codelens-action) - -" Map function and class text objects -" NOTE: Requires 'textDocument.documentSymbol' support from the language server. -xmap if <Plug>(coc-funcobj-i) -omap if <Plug>(coc-funcobj-i) -xmap af <Plug>(coc-funcobj-a) -omap af <Plug>(coc-funcobj-a) -xmap ic <Plug>(coc-classobj-i) -omap ic <Plug>(coc-classobj-i) -xmap ac <Plug>(coc-classobj-a) -omap ac <Plug>(coc-classobj-a) - -" Remap <C-f> and <C-b> for scroll float windows/popups. -if has('nvim-0.4.0') || has('patch-8.2.0750') - nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" - nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" - inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>" - inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>" - vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" - vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" -endif - -" Use CTRL-S for selections ranges. -" Requires 'textDocument/selectionRange' support of language server. -nmap <silent> <C-s> <Plug>(coc-range-select) -xmap <silent> <C-s> <Plug>(coc-range-select) - -" Add `:Format` command to format current buffer. -command! -nargs=0 Format :call CocActionAsync('format') - -" Add `:Fold` command to fold current buffer. -command! -nargs=? Fold :call CocAction('fold', <f-args>) - -" Add `:OR` command for organize imports of the current buffer. -command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport') - -" Add (Neo)Vim's native statusline support. -" NOTE: Please see `:h coc-status` for integrations with external plugins that -" provide custom statusline: lightline.vim, vim-airline. -set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} -let g:airline#extensions#coc#enabled = 1 - -" Mappings for CoCList -" Show all diagnostics. -nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr> -" Manage extensions. -nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr> -" Show commands. -nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr> -" Find symbol of current document. -nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr> -" Search workspace symbols. -nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr> -" Do default action for next item. -nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR> -" Do default action for previous item. -nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR> -" Resume latest coc list. -nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR> -inoremap <silent><expr> <TAB> - \ coc#pum#visible() ? coc#pum#next(1) : - \ CheckBackspace() ? "\<Tab>" : - \ coc#refresh() -inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>" - -" use <c-space>for trigger completion -inoremap <silent><expr> <c-space> coc#refresh() - - -" ##################################################################### -" ##################################################################### -" ##################################################################### -" ##################################################################### -" ##################################################################### -" ##################################################################### - -set laststatus=2 - -map <C-h> :set hlsearch!<CR> - -"nnoremap <C-Left> :tabprevious<CR> -"nnoremap <C-Right> :tabnext<CR> - -nnoremap <C-l> :ls<CR>:b<space> - -fun! TrimWhitespace() - let l:save = winsaveview() - keeppatterns %s/\s\+$//e - call winrestview(l:save) -endfun - -noremap <C-w> :call TrimWhitespace()<CR> - -set hlsearch -set incsearch - -set mouse=a - -" regex by default -set magic -set smarttab - -let g:enable_bold_font = 1 - - -"------------Start Python PEP 8 stuff---------------- -" Number of spaces that a pre-existing tab is equal to. -"au BufRead,BufNewFile *.go,*.html,*py,*pyw,*.c,*.h,*.js,*.tex,*.glsl,*.java,*.ts,*.tsx,*.c,*.cpp,*.h,*.hpp set tabstop=4 - -"spaces for indents -"au BufRead,BufNewFile *.go,*.html,*.py,*.pyw,*.js,*.tex,*.glsl,*.java,*.ts,*.tsx,*.c,*.cpp,*.h,*.hpp set shiftwidth=4 -"au BufRead,BufNewFile *.go,*.html,*.py,*.pyw,*.js,*.tex,*.glsl,*.java,*.ts,*.tsx,*.c,*.cpp,*.h,*.hpp set expandtab -"au BufRead,BufNewFile *.go,*.html,*.py,*.js,*.tex,*.glsl,*.java,*.ts,*.tsx,*.c,*.cpp,*.h,*.hpp set softtabstop=4 - -au BufRead,BufNewFile * set tabstop=4 -au BufRead,BufNewFile * set shiftwidth=4 -au BufRead,BufNewFile * set expandtab -au BufRead,BufNewFile * set softtabstop=4 - -au BufRead,BufNewFile *.yaml set tabstop=2 -au BufRead,BufNewFile *.yaml set shiftwidth=2 -au BufRead,BufNewFile *.yaml set softtabstop=2 - -" Use the below highlight group when displaying bad whitespace is desired. -highlight BadWhitespace ctermbg=red guibg=red - -" Display tabs at the beginning of a line in Python mode as bad. -au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/ -" Make trailing whitespace be flagged as bad. -au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/ - -" Wrap text after a certain number of characters -au BufRead,BufNewFile *.py,*.pyw, set textwidth=100 - -" Use UNIX (\n) line endings. -au BufNewFile *.py,*.pyw,*.c,*.h set fileformat=unix - -" Set the default file encoding to UTF-8: -set encoding=utf-8 - -" Number of spaces that a pre-existing tab is equal to. -au BufRead,BufNewFile *.css set tabstop=2 - -"spaces for indents -au BufRead,BufNewFile *.css set shiftwidth=2 -au BufRead,BufNewFile *.css set expandtab -au BufRead,BufNewFile *.css set softtabstop=2 - -au BufRead,BufNewFile *.tex set syntax=context -set ai "auto indent -set si "smart indent -set nu - -let g:python3_host_prog = '/usr/bin/python3' -syntax on -highlight LineNr ctermfg=grey - -set backspace=indent,eol,start - -" Rust -let g:rustfmt_autosave = 1 - -let g:airline#extensions#tabline#enabled = 1 -let g:airline_powerline_fonts = 1 - -let g:go_fmt_command = "gofmt" - -let g:smoothie_experimental_mappings = 1 - -let g:airline_theme='base16_gruvbox_dark_hard' - - -" ### Transparency ### -hi Normal guibg=none ctermbg=none -hi LineNr guibg=none ctermbg=none -hi Folded guibg=none ctermbg=none -hi NonText guibg=none ctermbg=none -hi SpecialKey guibg=none ctermbg=none -hi VertSplit guibg=none ctermbg=none -hi SignColumn guibg=none ctermbg=none -hi EndOfBuffer guibg=none ctermbg=none -" #################### |
