diff options
Diffstat (limited to 'nvim/init.vim')
| -rw-r--r-- | nvim/init.vim | 150 |
1 files changed, 105 insertions, 45 deletions
diff --git a/nvim/init.vim b/nvim/init.vim index 6582d6a..785fe5f 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -3,6 +3,7 @@ set ff=unix set colorcolumn=80 set list set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:» +set cmdheight=2 if has('win32') source $VIMRUNTIME/mswin.vim endif @@ -21,47 +22,56 @@ Plug 'tpope/vim-fugitive' "Fuzzy file search Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' "tab completion Plug 'Shougo/denite.nvim' Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } Plug 'Shougo/echodoc.vim' Plug 'deoplete-plugins/deoplete-jedi' +Plug 'raimon49/requirements.txt.vim' -Plug 'xolox/vim-misc' -Plug 'xolox/vim-lua-ftplugin' -Plug 'VaiN474/vim-etlua' -Plug 'leafo/moonscript-vim' -Plug 'teal-language/vim-teal' +" Scala tab completion +Plug 'nvim-lua/plenary.nvim' +Plug 'scalameta/nvim-metals' -Plug 'whonore/Coqtail' +" CSV formatting +Plug 'chrisbra/csv.vim' + +"Plug 'xolox/vim-misc' +"Plug 'xolox/vim-lua-ftplugin' +"Plug 'VaiN474/vim-etlua' +"Plug 'leafo/moonscript-vim' +"Plug 'teal-language/vim-teal' + +"Plug 'whonore/Coqtail' "Color schemes -Plug 'mhartington/oceanic-next' -Plug 'vim-scripts/Wombat' -Plug 'zeis/vim-kolor' -Plug 'alessandroyorba/despacio' -Plug 'alessandroyorba/alduin' -Plug 'tomasr/molokai' -Plug 'sainnhe/vim-color-forest-night' -Plug 'sts10/vim-pink-moon' -Plug 'severij/vadelma' -Plug 'kkpmw/sacredforest-vim' -Plug 'jsit/toast.vim' -Plug 'henrynewcomer/vim-theme-papaya' -Plug 'sainnhe/edge' -Plug 'kjssad/quantum.vim' -Plug 'kyoz/purify' -Plug 'sainnhe/vim-color-atlantis' -Plug 'jonathanfilip/vim-lucius' +"Plug 'mhartington/oceanic-next' +"Plug 'vim-scripts/Wombat' +"Plug 'zeis/vim-kolor' +"Plug 'alessandroyorba/despacio' +"Plug 'alessandroyorba/alduin' +"Plug 'tomasr/molokai' +"Plug 'sainnhe/vim-color-forest-night' +"Plug 'sts10/vim-pink-moon' +"Plug 'severij/vadelma' +"Plug 'kkpmw/sacredforest-vim' +"Plug 'jsit/toast.vim' +"Plug 'henrynewcomer/vim-theme-papaya' +"Plug 'sainnhe/edge' +"Plug 'kjssad/quantum.vim' +"Plug 'kyoz/purify' +"Plug 'sainnhe/vim-color-atlantis' +"Plug 'jonathanfilip/vim-lucius' Plug 'joshdick/onedark.vim' -Plug 'cocopon/iceberg.vim' -Plug 'wolf-dog/sceaduhelm.vim' -Plug 'danilo-augusto/vim-afterglow' -Plug 'kamwitsta/mythos' -Plug 'softmotions/vim-dark-frost-theme' -Plug 'sainnhe/vim-color-grimoire' -Plug 'ghifarit53/tokyonight-vim' +"Plug 'cocopon/iceberg.vim' +"Plug 'wolf-dog/sceaduhelm.vim' +"Plug 'danilo-augusto/vim-afterglow' +"Plug 'kamwitsta/mythos' +"Plug 'softmotions/vim-dark-frost-theme' +"Plug 'sainnhe/vim-color-grimoire' +"Plug 'ghifarit53/tokyonight-vim' call plug#end() colorscheme onedark @@ -69,13 +79,22 @@ colorscheme onedark "deoplete let g:deoplete#enable_at_startup = 1 inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>" +"autocmd CompleteDone * if pumvisible() == 0 | silent! pclose | endif + +" echodoc +let g:echodoc#enable_at_startup=1 +let g:echodoc#type="floating" +highlight link EchoDocFloat Pmenu "python -let g:deoplete#sources#jedi#python_path='python3' +"let g:deoplete#sources#jedi#python_path='python3' +let g:deoplete#sources#jedi#enable_short_types=1 let g:deoplete#sources#jedi#show_docstring=1 +call deoplete#custom#source('jedi','max_info_width',0) +"set completeopt-=preview "lua -let g:lua_compiler_name='luajit' +let g:lua_compiler_name='lua' "let g:lua_compiler_name='lua' let g:lua_complete_dynamic=1 au BufReadPost *.busted set syntax=lua @@ -83,22 +102,49 @@ au BufReadPost *.spec set syntax=lua au BufReadPost *.etlua set syntax=html "Overwrite xolox:ftplugin's "Help" with shift-k au BufReadPost *.lua nunmap <buffer> K -let g:echodoc#enable_at_startup=1 + +"scala +augroup lsp + au! + au FileType java,scala,sbt lua m=require("metals"); mc=m.bare_config(); mc.init_options.statusBarProvider="on"; m.initialize_or_attach(mc) +augroup end "NERDTree config autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | \ quit | endif + nnoremap <C-\> :NERDTreeToggle<Cr> nnoremap <C-r> :NERDTreeFind<Cr> let NERDTreeMapHelp='y' let NERDTreeMapJumpLastChild='y' let NERDTreeMapJumpFirstChild='y' +"NERDCommenter config +nnoremap <C-/> :call NERDComment('x', 'toggle')<CR> + "Fuzzy file search let g:fzf_layout = { 'window': {'width': 0.9, 'height': 0.6} } -noremap <A-p> :call fzf#run(fzf#wrap({'sink': 'tabe', 'left': '20%', 'source': 'git ls-files'}))<Cr> +noremap π :call fzf#run(fzf#wrap({'sink': 'tabe', 'left': '20%', 'source': 'git ls-files'}))<Cr> noremap <C-p> :call fzf#run(fzf#wrap({'sink': 'vsplit', 'left': '50%', 'source': 'git ls-files'}))<Cr> +noremap å :call fzf#run(fzf#wrap({'sink':'tabe', 'left': '20%', 'source': 'git ls-files'}))<Cr> +command! -bang -nargs=* GAg + \ call fzf#vim#ag( + \ <q-args>, + \ fzf#vim#with_preview(), + \ <bang>0 + \) + +"Fuzzy git checkout branch +noremap <C-c> :call fzf#run(fzf#wrap({'sink': 'Git checkout', 'left':'20%', 'source': 'git branch --format "%(refname:short)"'}))<Cr> +noremap <C-a> :call fzf#run(fzf#wrap({'sink': 'Git checkout', 'left':'50%', 'source': 'ag --nogroup --column --color --', 'preview-window':'up','preview':expand('<sfile>:p:h:h:h').'/bin/preview.sh'}))<Cr> + + +"Fuzzy sbt +function! s:VTerm(command) + vsplit + termopen(a:command) +endfunction "ctrl+s saves nmap <C-s> :w<Cr> @@ -110,6 +156,12 @@ else vmap <C-_> <leader>c<Space> endif +"Set leader +let mapleader=";" + +"Shortcut to modify vim config +nnoremap <leader>ec :tabe $MYVIMRC<Cr> + "Move around quickly nnoremap J 5j nnoremap K 5k @@ -117,15 +169,15 @@ nnoremap H 5h nnoremap L 5l "Navigate splits -tnoremap <A-h> <C-\><C-n><C-w>h -tnoremap <A-j> <C-\><C-n><C-w>j -tnoremap <A-k> <C-\><C-n><C-w>k -tnoremap <A-l> <C-\><C-n><C-w>l +tnoremap ˙ <C-\><C-n><C-w>h +tnoremap ∆ <C-\><C-n><C-w>j +tnoremap ˚ <C-\><C-n><C-w>k +tnoremap ¬ <C-\><C-n><C-w>l -nnoremap <A-h> <C-\><C-n><C-w>h -nnoremap <A-j> <C-\><C-n><C-w>j -nnoremap <A-k> <C-\><C-n><C-w>k -nnoremap <A-l> <C-\><C-n><C-w>l +nnoremap ˙ <C-\><C-n><C-w>h +nnoremap ∆ <C-\><C-n><C-w>j +nnoremap ˚ <C-\><C-n><C-w>k +nnoremap ¬ <C-\><C-n><C-w>l "Resize splits "noremap <C-h> :vertical resize -5<Cr> @@ -160,15 +212,23 @@ nnoremap <C-k> :call <SID>PushResize('k',5)<CR> nnoremap <C-l> :call <SID>PushResize('l',5)<CR> "Navigate tabs -noremap <A-]> gt -noremap <A-[> gT +noremap ‘ gt +noremap “ gT "Add a semicolon at the end of the line vnoremap <C-;> :'<,'>s/\([^;]\)$/\1;/g<Cr> "Build in a vertical split -noremap <C-b> :vsplit<CR>:terminal make<CR> +noremap <C-b> :vsplit term://make<Cr> + +"Start a terminal +noremap <C-t> :vsplit<CR>:terminal<CR> + +"Find and open in a new tab +noremap <C-f> :Ag<Cr> +"Restart vim (alt+1) +noremap ¡ :source ~/.config/nvim/init.vim \| :PlugInstall<Cr> filetype plugin indent on syntax enable |
