X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/3c506723ff5a9fc7135ad3cee3f494bad97114ba..34f20d2cbf651ec2b1366dd2bcbc1331929ac8fc:/vim/vimrc?ds=inline diff --git a/vim/vimrc b/vim/vimrc index 89d0350..675b5ab 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -7,6 +7,9 @@ set runtimepath ^=$XDG_CONFIG_HOME/vim set runtimepath +=$XDG_CONFIG_HOME/vim/after +" force python3 +if has('python3') | endif + " plugins {{{1 " remove all autocommands autocmd! @@ -15,8 +18,14 @@ call plug#begin('$XDG_DATA_HOME/vim') " This does not update vim-plug, use PlugUpgrade instead Plug 'junegunn/vim-plug' -Plug 'airblade/vim-gitgutter' +Plug 'airblade/vim-gitgutter' " {{{ +" prefer other signs such as ycm diags +let g:gitgutter_sign_priority = 1 +" don't clobber other signs +let g:gitgutter_sign_allow_clobber = 0 +"}}} Plug 'alepez/vim-gtest' +Plug 'alx741/vinfo' Plug 'andrewradev/switch.vim' Plug 'bling/vim-airline' Plug 'chrisbra/checkattach' @@ -30,11 +39,6 @@ Plug 'kshenoy/vim-signature' Plug 'majutsushi/tagbar' Plug 'octol/vim-cpp-enhanced-highlight' Plug 'raimondi/delimitmate' -Plug 'ram-z/vim-clang-format', { 'branch': 'fix-undo' } -" fix some issue with vim-clang-format not finding .clang-format -let g:clang_format#detect_style_file = 1 -Plug 'vimwiki/vimwiki', { 'branch': 'dev' } -" Plug 'scrooloose/syntastic' Plug 'sgeb/vim-diff-fold' Plug 'shougo/unite.vim' Plug 'shougo/vimproc.vim', {'do': 'make'} @@ -58,7 +62,21 @@ Plug 'vim-scripts/yankring.vim' Plug 'wincent/loupe' " colorschemes -Plug 'morhetz/gruvbox' +Plug 'morhetz/gruvbox' " {{{2 +let g:gruvbox_contrast_dark = 'hard' +let g:gruvbox_contrast_light = 'soft' + +Plug 'arcticicestudio/nord-vim' " {{{2 +let g:nord_bold = 1 +let g:nord_italic = 1 +let g:nord_italic_comments = 1 +let g:nord_underline = 1 +let g:nord_uniform_status_lines = 0 +let g:nord_uniform_diff_background = 0 +let g:nord_cursor_line_number_background = 0 +let g:nord_bold_vertical_split_line = 0 + +"}}} " snippets Plug 'sirver/ultisnips' @@ -74,19 +92,32 @@ Plug 'kana/vim-operator-user' " Check LucHermites plugins: https://github.com/LucHermitte/lh-cpp Plug 'dense-analysis/ale' " {{{2 let g:ale_echo_msg_format = '[%linter%] %code: %%s' -let g:ale_c_parse_compile_commands = 1 -let g:ale_cpp_parse_compile_commands = 1 -" don't use loclist as it's being populated by ycm -" (might want to enable for other filetypes) -let g:ale_set_loclist = 0 -let g:ale_cpp_gcc_options = '' -let g:ale_linters_ignore = { 'cpp': ['clangd', 'clangtidy', 'clang'] } Plug 'git@github.com:/ram-z/vim-orgmode', { 'branch': 'dev' } " {{{2 Plug 'vim-scripts/syntaxrange' let g:org_agenda_files = ['~/org/*.org'] +Plug 'neovimhaskell/haskell-vim' " {{{2 +let g:haskell_enable_quantification = 1 " to enable highlighting of `forall` +let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec` +let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc` +let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern` +let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles +let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static` +let g:haskell_backpack = 1 " to enable highlighting of backpack keywords +" }}} + +Plug 'aklt/plantuml-syntax' + +Plug 'mtth/scratch.vim' " {{{2 + let g:scratch_no_mappings = 1 +"}}} + +Plug 'vim-utils/vim-man' " {{{2 +let g:man_width = 80 +"}}} + call plug#end() filetype plugin indent on @@ -94,11 +125,7 @@ filetype plugin indent on " colorscheme {{{1 syntax on set background=dark -let g:gruvbox_contrast_dark = 'hard' -let g:gruvbox_contrast_light = 'soft' -colorscheme gruvbox -" override the background to be black -highligh Normal ctermbg=None +colorscheme $THEME " options {{{1 " moving around, searching and patterns {{{2 @@ -408,7 +435,11 @@ noremap ' ` nnoremap vv ^vg_ " Unfuck my screen -nnoremap U :syntax sync fromstart:AirlineRefresh:redraw! +nnoremap U + \ :syntax sync fromstart + \ :AirlineRefresh + \ :call popup_clear(1) + \ :redraw! " Ranger " nnoremap r :silent !ranger %:h:redraw! @@ -556,11 +587,17 @@ nmap dd :tab split \| Gdiff \| wincmd h " delete fugitive buffers when closed autocmd BufReadPost fugitive://* set bufhidden=delete -nnoremap gs :Gstatus -nnoremap gd :Gdiff -nnoremap gc :Gcommit -v +nnoremap gs :Git +nnoremap gd :Gdiffsplit +nnoremap gc :echohl WarningMsg \| echo "use \gcc instead" \| echohl None +nnoremap gcc :tab G commit -v +nnoremap gca :tab G commit -v --amend +nnoremap gcf :tab G commit -v --fixup= +nnoremap gp :echohl WarningMsg \| echo "use \gpp instead" \| echohl None +nnoremap gpp :G push +nnoremap gpf :G push --force-with-lease nnoremap ga :Gwrite -nnoremap gb :Gblame +nnoremap gb :G blame augroup fugitive_gstatus au! @@ -643,7 +680,7 @@ let g:tcomment#filetype#guess = 0 " ultisnips {{{2 let g:UltiSnipsEditSplit = 'vertical' -let g:UltiSnipsSnippetsDir = expand("$XDG_CONFIG_HOME/vim/ultisnips") +let g:UltiSnipsSnippetDirectories = [ expand("$XDG_CONFIG_HOME/vim/ultisnips") ] if has('fname_case') let g:UltiSnipsSnippetDirectories = ["UltiSnips", "ultisnips"] endif @@ -697,7 +734,7 @@ if executable('ag') end nnoremap [unite]a :Unite grep:.:: nnoremap [unite]A :Unite grep:.:-w: -command! -nargs=1 Ag Unite grep:.:: +command! -nargs=+ Ag Unite -input= grep:.: " unite-file_rec {{{3 if executable('ag') @@ -740,10 +777,8 @@ function! YRRunAfterMaps() endfunction " youcompleteme {{{2 -let g:ycm_extra_conf_globlist = ['~/src/*','/mnt/data/src/*'] -" ycm-clangd requires you to symlink the compile_db to the root of the project -" let g:ycm_global_ycm_extra_conf = expand('$XDG_CONFIG_HOME/vim/ycm_extra_conf.py') let g:ycm_clangd_binary_path = 'clangd' " use clangd in path +let g:ycm_clangd_args = ['--clang-tidy'] let g:ycm_extra_conf_vim_data = ['getcwd()'] let g:ycm_add_preview_to_completeopt = 1 let g:ycm_complete_in_comments = 1 @@ -758,9 +793,11 @@ nmap ga (EasyAlign) " vim-gtest {{{2 let g:gtest#highlight_failing_tests = 0 -nnoremap tt :GTestRun -nnoremap ta :GTestCase *:GTestName *:GTestRun -nnoremap tu :GTestRunUnderCursor +nnoremap tt :GTestRun +nnoremap tc :GTestCase +nnoremap tn :GTestName +nnoremap ta :GTestCase *:GTestName *:GTestRun +nnoremap tu :GTestRunUnderCursor " vim-json {{{2 let g:vim_json_syntax_conceal = 0 @@ -784,15 +821,6 @@ xmap T Sneak_T omap t Sneak_t omap T Sneak_T -" vimviki {{{2 -let g:vimwiki_list = [{'path': '$XDG_DATA_HOME/vimwiki'}] -let g:vimwiki_auto_chdir = 1 -augroup myvimwiki - au! BufRead $XDG_DATA_HOME/vimwiki/index.wiki !git -C "%:p:h" pull -q - au! BufRead,BufNewFile $XDG_DATA_HOME/vimwiki/diary/*.wiki !git -C "%:p:h" pull -q - au! BufWritePost $XDG_DATA_HOME/vimwiki/*.wiki exe '!git add "";git commit -qm"' . strftime("%FT%R") . '";git push -q' -augroup END - " functions {{{1 " Convenient command to see the difference between the current buffer and the