Massive update to nvim config
This commit is contained in:
		
							parent
							
								
									6ec966cacf
								
							
						
					
					
						commit
						6b156d7e63
					
				
					 1 changed files with 95 additions and 86 deletions
				
			
		|  | @ -1,106 +1,85 @@ | |||
| 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 'ncm2/float-preview.nvim' | ||||
| Plug 'dense-analysis/ale' | ||||
| Plug 'jacoborus/tender.vim' | ||||
| Plug 'vim-airline/vim-airline' | ||||
| Plug 'vim-airline/vim-airline-themes' | ||||
| Plug 'airblade/vim-gitgutter' | ||||
| Plug 'scrooloose/nerdtree' | ||||
| Plug 'Lokaltog/vim-monotone' | ||||
| Plug 'ncm2/float-preview.nvim' | ||||
| Plug 'gleam-lang/gleam.vim' | ||||
| Plug 'cespare/vim-toml' | ||||
| Plug 'rust-lang/rust.vim' | ||||
| Plug 'vim-scripts/DrawIt' | ||||
| 
 | ||||
| call plug#end() | ||||
| 
 | ||||
| " Sane defaults. | ||||
| set mouse= | ||||
| syntax on | ||||
| filetype plugin indent on | ||||
| set omnifunc=syntaxcomplete#Complete | ||||
| set completeopt-=preview | ||||
| let g:airline_theme='papercolor' | ||||
| let g:airline#extensions#ale#enabled=1 | ||||
| 
 | ||||
| inoremap <expr><tab> pumvisible() ? "\<C-n>" : "\<tab>" | ||||
| inoremap <expr><S-Tab> pumvisible() ? "\<C-p>" : "\<S-TAB>" | ||||
| 
 | ||||
| let g:jedi#completions_enabled=0 | ||||
| let g:jedi#use_splits_not_buffers="right" | ||||
| 
 | ||||
| " Preview window is floating | ||||
| let g:float_preview#docked=0 | ||||
| let g:float_preview#max_width=100 | ||||
| let g:float_preview#max_height=150 | ||||
| let g:float_preview#auto_close=0 | ||||
| 
 | ||||
| set tabstop=4 | ||||
| set softtabstop=4 | ||||
| set shiftwidth=4 | ||||
| set textwidth=79 | ||||
| set expandtab | ||||
| set autoindent | ||||
| set fileformat=unix | ||||
| set number | ||||
| " Hide top preview window, use float_preview instead | ||||
| set completeopt-=preview | ||||
| set omnifunc=ale#completion#OmniFunc | ||||
| 
 | ||||
| " Enable folding on indent | ||||
| set foldmethod=indent | ||||
| set foldlevel=79 | ||||
| " Lint and check types | ||||
| let b:ale_linters={ | ||||
| \ 'python': ['mypy', 'pyls', 'pylint'], | ||||
| \ 'ocaml':  ['merlin'], | ||||
| \ 'rust':   ['analyzer', 'cargo'] | ||||
| \ } | ||||
| let b:ale_fixers = { | ||||
| \ 'rust':   'rustfmt', | ||||
| \ 'python': 'autopep8', | ||||
| \ 'ocaml':  'ocamlformat' | ||||
| \} | ||||
| 
 | ||||
| " 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> | ||||
| let g:ale_rust_rustfmt_options='--edition 2018' | ||||
| 
 | ||||
| " Enable vimrc files per project | ||||
| set exrc | ||||
| " Disable unsafe commands in project vimrc | ||||
| set secure | ||||
| 
 | ||||
| set wildignorecase      " Ignore case in command completion | ||||
| set laststatus=2        " Always show statusline | ||||
| 
 | ||||
| " Search settings | ||||
| set smartcase  " If an uppercase letter is the query, be case sensitive | ||||
| set incsearch  " Highlight matches while typing query | ||||
| set hlsearch   " Highlight all search matches | ||||
| 
 | ||||
| " Highlight matching brackets | ||||
| set showmatch | ||||
| set mps+=<:> " Also, match < and > | ||||
| 
 | ||||
| 
 | ||||
| " COLORS | ||||
| " Much better with Tomorrow Night Bright color theme set in alacritty | ||||
| set background=dark | ||||
| " Monochrome colorscheme config | ||||
| let g:monotone_color = [120, 100, 70] " Sets theme color to bright green | ||||
| let g:monotone_secondary_hue_offset = 200 " Offset secondary colors by 200 degrees | ||||
| let g:monotone_emphasize_comments = 1 " Emphasize comments | ||||
| 
 | ||||
| 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 MatchParen cterm=bold ctermbg=magenta ctermfg=none | ||||
| 
 | ||||
| 
 | ||||
| " Filetype indents and line lengths | ||||
| autocmd BufEnter rst,md         set textwidth=79 | ||||
| autocmd BufEnter html,yaml,css  set softtabstop=2 shiftwidth=2 | ||||
| 
 | ||||
| " 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 | ||||
| 
 | ||||
| " Global ALE config | ||||
| nmap <leader>e: ALEDetail<CR> | ||||
| let b:ale_linters=[] " file type linters defined in ftplugin/*.vim | ||||
| let g:ale_fix_on_save=0 | ||||
| let g:ale_lint_on_save=1 | ||||
| let g:ale_lint_on_enter=0 | ||||
| let g:ale_list_window_size=20 | ||||
| " Use .venv as a global default | ||||
| let g:ale_virtualenv_dir_names=['.venv'] | ||||
| let g:ale_completion_enabled=1 | ||||
| let g:ale_set_signs = 1 | ||||
| let g:ale_sign_error="✗" | ||||
| let g:ale_sign_warning="⚠" | ||||
| let g:ale_echo_msg_error_str = 'E' | ||||
| let g:ale_echo_msg_warning_str = 'W' | ||||
| let g:ale_echo_msg_format = '[%linter%] %s [%severity%]' | ||||
| 
 | ||||
| " Enable warnings about trailing whitespace for all files. | ||||
| let b:ale_warn_about_trailing_whitespace=1 | ||||
| highlight ALEWarning ctermbg=Yellow ctermfg=None guibg=Yellow gui=None cterm=Underline | ||||
| highlight ALEError ctermbg=Red ctermfg=Black cterm=underline | ||||
| 
 | ||||
| nmap <leader>e :ALEDetail<CR> | ||||
| noremap <leader>d :ALEGoToDefinition<CR> | ||||
| noremap <leader>r :ALEFindReferences<CR> | ||||
| noremap g] :ALEGoToDefinition<CR> | ||||
| noremap <leader>h :ALEHover<CR> | ||||
| 
 | ||||
| " ALE colors | ||||
| highlight ALEError ctermbg=DarkRed ctermfg=Black | ||||
| highlight ALEWarning ctermbg=Yellow ctermfg=White | ||||
| 
 | ||||
| " Use TAB to switch between buffers | ||||
| noremap <tab> :bn<CR> | ||||
|  | @ -111,21 +90,51 @@ highlight WhitespaceEOL ctermbg=red guibg=#ab0d0d | |||
| match WhitespaceEOL /\s\+\%#\@<!$/ | ||||
| nnoremap <C-k> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar><CR> | ||||
| 
 | ||||
| " Git Gutter config | ||||
| highlight GitGutterAdd    guibg=#22ff22 guifg=#000000 ctermfg=Green | ||||
| highlight GitGutterChange guibg=#bbbb00 guifg=#000000 ctermfg=Yellow | ||||
| highlight GitGutterDelete guibg=#ff2222 guifg=#000000 ctermfg=DarkRed | ||||
| " Much better with Tomorrow Night Bright color theme set in alacritty | ||||
| " set background=dark | ||||
| highlight Search ctermfg=Black | ||||
| highlight Comment ctermfg=Grey | ||||
| highlight SignColumn ctermbg=0 | ||||
| highlight LineNr ctermbg=0 ctermfg=248 | ||||
| highlight Folded ctermbg=Green ctermfg=Black | ||||
| highlight Pmenu ctermbg=gray guibg=gray | ||||
| 
 | ||||
| highlight GitGutterAdd    ctermfg=Green | ||||
| highlight GitGutterChange ctermfg=Red | ||||
| highlight GitGutterDelete ctermfg=DarkRed | ||||
| highlight GitGutterAddLine ctermbg=LightGreen | ||||
| highlight GitGutterChangeLine ctermbg=Yellow | ||||
| highlight GitGutterDeleteLine ctermbg=LightRed | ||||
| highlight GitGutterChangeDeleteLine ctermbg=LightRed | ||||
| 
 | ||||
| nmap ]h <Plug>(GitGutterNextHunk) | ||||
| nmap [h <Plug>(GitGutterPrevHunk) | ||||
| 
 | ||||
| let g:gitgutter_sign_added='+' | ||||
| let g:gitgutter_sign_modified='-+' | ||||
| 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_sign_removed_first_line='^' | ||||
| let g:gitgutter_sign_modified_removed='-' | ||||
| let g:gitgutter_map_keys=0 | ||||
| let g:gitgutter_set_sign_backgrounds=1 | ||||
| 
 | ||||
| " Toggles on different plugins/modes | ||||
| nmap <F1> :ToggleMouse<CR> | ||||
| set pastetoggle=<F2> | ||||
| nmap <F3> :set nonumber!<CR> | ||||
| nmap <F4> :GitGutterBufferToggle<CR> | ||||
| nmap <F5> :NERDTreeToggle<CR> | ||||
| nmap <F6> :GitGutterLineHighlightsToggle<CR> | ||||
| 
 | ||||
| autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab | ||||
| 
 | ||||
| " Maintain undo history between sessions | ||||
| if !isdirectory("/tmp/.vim-undo-dir") | ||||
| call mkdir("/tmp/.vim-undo-dir", "", 0700) | ||||
| if !isdirectory("/tmp/.vim-undo-dir-vladan") | ||||
|   call mkdir("/tmp/.vim-undo-dir-vladan", "", 0700) | ||||
| endif | ||||
| set undodir=/tmp/.vim-undo-dir | ||||
| set undodir=/tmp/.vim-undo-dir-vladan | ||||
| set undofile | ||||
| " Enable vimrc files per project | ||||
| set exrc | ||||
| " Disable unsafe commands in project vimrc | ||||
| set secure | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue