X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/de63af710d0c87c10f8e3b899aded2fe6aee7193..34f20d2cbf651ec2b1366dd2bcbc1331929ac8fc:/vim/vimrc?ds=inline diff --git a/vim/vimrc b/vim/vimrc index cc35b08..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'} @@ -46,18 +50,33 @@ Plug 'tpope/vim-endwise' Plug 'tpope/vim-eunuch' Plug 'tpope/vim-fugitive' Plug 'tpope/vim-repeat' +Plug 'tpope/vim-scriptease' Plug 'tpope/vim-speeddating' Plug 'tpope/vim-surround' "investigate vim-sandwich Plug 'tpope/vim-unimpaired' Plug 'tweekmonster/spellrotate.vim' -" Plug 'valloric/youcompleteme', { 'do': './install.py --clang-completer' } +Plug 'valloric/youcompleteme', { 'do': './install.py --clangd-completer --clang-completer' } Plug 'vim-scripts/mediawiki.vim' Plug 'vim-scripts/replacewithregister' 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' @@ -72,39 +91,41 @@ Plug 'kana/vim-operator-user' " staging " Check LucHermites plugins: https://github.com/LucHermitte/lh-cpp Plug 'dense-analysis/ale' " {{{2 -let g:ale_c_build_dir_names = [ 'build-Linux-x86_64' ] 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 -let g:ale_cpp_gcc_options = '' -let g:ale_cpp_clang_options = '' - -Plug 'shougo/deoplete.nvim' " {{{2 -Plug 'roxma/nvim-yarp' -Plug 'roxma/vim-hug-neovim-rpc' -let g:deoplete#enable_at_startup = 1 -"}}}2 - -Plug 'jceb/vim-orgmode' + +Plug 'git@github.com:/ram-z/vim-orgmode', { 'branch': 'dev' } " {{{2 +Plug 'vim-scripts/syntaxrange' + let g:org_agenda_files = ['~/org/*.org'] -call plug#end() +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' -call deoplete#custom#option('sources', { - \ '_': ['ale'], - \}) -call deoplete#custom#source('ale', 'matchers', ['matchers_full_fuzzy']) +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 " 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 @@ -414,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! @@ -562,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! @@ -649,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 @@ -703,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') @@ -717,6 +748,9 @@ call unite#custom#source('file_rec/async', 'sorters', 'sorter_selecta') call unite#custom#default_action('buffer', 'open') nnoremap [unite]b :Unite buffer:- +" unite-jumplist {{{3 +nnoremap [unite]j :Unite output:jumps: + " unite-menu {{{3 let g:unite_source_menu_menus = {} let g:unite_source_menu_menus.fugitive = { 'description' : 'fugitive menu'} @@ -743,8 +777,8 @@ function! YRRunAfterMaps() endfunction " youcompleteme {{{2 -let g:ycm_extra_conf_globlist = ['~/src/*','/mnt/data/src/*'] -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 @@ -759,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 @@ -785,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