Add nvim config
This commit is contained in:
		
							parent
							
								
									3af9e0a1fa
								
							
						
					
					
						commit
						e01df2b35c
					
				
					 1 changed files with 117 additions and 0 deletions
				
			
		
							
								
								
									
										117
									
								
								.config/nvim/init.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								.config/nvim/init.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,117 @@ | |||
| call plug#begin('~/.local/share/nvim/plugged') | ||||
| 
 | ||||
| Plug 'davidhalter/jedi-vim' | ||||
| Plug 'Shougo/deoplete.nvim', {'do': ':UpdateRemotePlugins'} | ||||
| Plug 'zchee/deoplete-jedi' | ||||
| Plug 'sbdchd/neoformat' | ||||
| Plug 'dense-analysis/ale' | ||||
| Plug 'jacoborus/tender.vim' | ||||
| Plug 'vim-airline/vim-airline' | ||||
| Plug 'airblade/vim-gitgutter' | ||||
| Plug 'scrooloose/nerdtree' | ||||
| Plug 'andreypopp/vim-colors-plain' | ||||
| 
 | ||||
| call plug#end() | ||||
| 
 | ||||
| let g:deoplete#enable_at_startup=1 | ||||
| autocmd InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif | ||||
| inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>" | ||||
| 
 | ||||
| " Enable alignment | ||||
| let g:neoformat_basic_format_align=1 | ||||
| " Enable tab to spaces conversion | ||||
| let g:neoformat_basic_format_retab=1 | ||||
| " Enable trimmming of trailing whitespace | ||||
| let g:neoformat_basic_format_trim=1 | ||||
| let g:neoformat_try_formatprg=0 | ||||
| 
 | ||||
| " disable autocompletion, cause we use deoplete for completion | ||||
| let g:jedi#completions_enabled=0 | ||||
| " open the go-to function in split, not another buffer | ||||
| let g:jedi#use_splits_not_buffers="right" | ||||
| 
 | ||||
| 
 | ||||
| set tabstop=4 | ||||
| set softtabstop=4 | ||||
| set shiftwidth=4 | ||||
| set textwidth=79 | ||||
| set expandtab | ||||
| set autoindent | ||||
| set fileformat=unix | ||||
| set number | ||||
| 
 | ||||
| " Enable folding on indent | ||||
| set foldmethod=indent | ||||
| set foldlevel=79 | ||||
| 
 | ||||
| " Lint and check types | ||||
| let b:ale_linters=['mypy', 'pyls', 'pylint'] | ||||
| let g:ale_lint_on_save=1 | ||||
| let g:ale_list_window_size=20 | ||||
| " Fix syntax with autopep8. | ||||
| " let b:ale_fixers=['autopep8'] | ||||
| " let g:ale_fix_on_save=1 | ||||
| " Use .venv as a global default | ||||
| let g:ale_virtualenv_dir_names=['.venv'] | ||||
| 
 | ||||
| let g:ale_completion_enabled=1 | ||||
| let g:ale_sign_error="✗" | ||||
| let g:ale_sign_warning="⚠" | ||||
| 
 | ||||
| " Enable warnings about trailing whitespace for all files. | ||||
| let b:ale_warn_about_trailing_whitespace=1 | ||||
| 
 | ||||
| nmap <leader>e: ALEDetail<CR> | ||||
| 
 | ||||
| " ALE colors | ||||
| highlight ALEWarning ctermbg=Yellow | ||||
| highlight ALEWarning ctermfg=Black | ||||
| highlight ALEError ctermbg=DarkRed | ||||
| highlight ALEError ctermfg=White | ||||
| 
 | ||||
| " Use TAB to switch between buffers | ||||
| noremap <tab> :bn<CR> | ||||
| noremap <S-tab> :bp<CR> | ||||
| 
 | ||||
| " Highlight trailing whitespace (darker red) and remove all with Ctrl+k | ||||
| highlight WhitespaceEOL ctermbg=red guibg=#ab0d0d | ||||
| match WhitespaceEOL /\s\+\%#\@<!$/ | ||||
| nnoremap <C-k> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar><CR> | ||||
| 
 | ||||
| " Much better with Tomorrow Night Bright color theme set in alacritty | ||||
| set background=dark | ||||
| " colorscheme plain | ||||
| 
 | ||||
| highlight Search ctermfg=Black | ||||
| highlight Comment ctermfg=Grey | ||||
| highlight SignColumn ctermbg=236 | ||||
| highlight LineNr ctermfg=244 | ||||
| highlight LineNr ctermbg=232 | ||||
| highlight Folded ctermbg=DarkGreen | ||||
| highlight Folded ctermfg=Black | ||||
| 
 | ||||
| highlight GitGutterAdd    guibg=#22ff22 guifg=#000000 ctermfg=Green | ||||
| highlight GitGutterChange guibg=#bbbb00 guifg=#000000 ctermfg=Yellow | ||||
| highlight GitGutterDelete guibg=#ff2222 guifg=#000000 ctermfg=DarkRed | ||||
| 
 | ||||
| let g:gitgutter_sign_added='+' | ||||
| let g:gitgutter_sign_modified='-+' | ||||
| let g:gitgutter_sign_removed='-' | ||||
| let g:gitgutter_sign_removed_first_line='^^' | ||||
| let g:gitgutter_sign_modified_removed='--' | ||||
| let g:gitgutter_map_keys=0 | ||||
| 
 | ||||
| " Toggles on different plugins/modes | ||||
| noremap  <F1> :ToggleMouse<CR> | ||||
| inoremap <F1> <Esc>:ToggleMouse<CR>a | ||||
| nmap <F3> :set nonumber!<CR> | ||||
| nmap <F4> :GitGutterBufferToggle<CR> | ||||
| nmap <F5> :NERDTreeToggle<CR> | ||||
| set pastetoggle=<F2> | ||||
| 
 | ||||
| " Maintain undo history between sessions | ||||
| if !isdirectory("/tmp/.vim-undo-dir") | ||||
| call mkdir("/tmp/.vim-undo-dir", "", 0700) | ||||
| endif | ||||
| set undodir=/tmp/.vim-undo-dir | ||||
| set undofile | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue