X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/82392c7d1565706b6c5cb97a8cad664cedcdcb88..c089750bf7a4524584f74246b52de9485f63f95b:/vim/vimrc?ds=sidebyside diff --git a/vim/vimrc b/vim/vimrc index b25648e..8da02bf 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -26,6 +26,10 @@ let g:gitgutter_sign_allow_clobber = 0 "}}} Plug 'alepez/vim-gtest' Plug 'alx741/vinfo' +Plug 'andrewradev/sideways.vim' " {{{2 +nnoremap ,h :SidewaysLeft:delmarks z +nnoremap ,l :SidewaysRight:delmarks z +"}}} Plug 'andrewradev/switch.vim' Plug 'bling/vim-airline' Plug 'chrisbra/checkattach' @@ -40,6 +44,10 @@ Plug 'majutsushi/tagbar' Plug 'octol/vim-cpp-enhanced-highlight' Plug 'raimondi/delimitmate' Plug 'sgeb/vim-diff-fold' +Plug 'skywind3000/asyncrun.vim' " {{{2 +command! -bang -nargs=* -complete=file Make AsyncRun -save=2 -program=make @ +let g:asyncrun_open = 10 +"}}} Plug 'shougo/unite.vim' Plug 'shougo/vimproc.vim', {'do': 'make'} Plug 'sjl/gundo.vim' @@ -90,8 +98,6 @@ Plug 'kana/vim-operator-user' " staging " Check LucHermites plugins: https://github.com/LucHermitte/lh-cpp -Plug 'dense-analysis/ale' " {{{2 -let g:ale_echo_msg_format = '[%linter%] %code: %%s' Plug 'git@github.com:/ram-z/vim-orgmode', { 'branch': 'dev' } " {{{2 Plug 'vim-scripts/syntaxrange' @@ -106,6 +112,8 @@ 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 + +let g:haskell_indent_before_where = 2 " }}} Plug 'aklt/plantuml-syntax' @@ -389,10 +397,14 @@ augroup END map " make -function! Make() +function! MakeWithOpt() + " TODO only do this if makeprg matches make + " if &makeprg =~ "make" let l:make_dir = "" if exists("b:make_dir") let l:make_dir = "-C ".b:make_dir + elseif exists("t:make_dir") + let l:make_dir = "-C ".t:make_dir elseif exists("g:make_dir") let l:make_dir = "-C ".g:make_dir endif @@ -401,9 +413,9 @@ function! Make() if exists("g:make_targets") let l:make_targets = g:make_targets endif - execute "make! ".l:make_dir." ".l:make_targets + execute "Make ".l:make_dir." ".l:make_targets endf -nnoremap r :call Make() +nnoremap r :call MakeWithOpt() " unhighlight search nnoremap / :silent nohl @@ -573,6 +585,9 @@ let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#searchcount#enabled = 0 let g:airline_powerline_fonts = 1 +let g:asyncrun_status = "stopped" +let g:airline_section_error = airline#section#create_right(['%{g:asyncrun_status}']) + " checkattach {{{2 let g:checkattach_filebrowser = 'ranger' let g:checkattach_once = 'y' @@ -597,7 +612,18 @@ nmap dd :tab split \| Gdiff \| wincmd h " delete fugitive buffers when closed autocmd BufReadPost fugitive://* set bufhidden=delete -nnoremap gs :Git +function! GitToggle() + if buflisted(bufname('.git/index')) + bdelete .git/index + else + Git + 16wincmd_ + endif +endfunction +command! GitToggle :call GitToggle() +command! GToggle GitToggle +nnoremap gs :GitToggle + nnoremap gd :Gdiffsplit nnoremap gc :echohl WarningMsg \| echo "use \gcc instead" \| echohl None nnoremap gcc :tab G commit -v @@ -614,7 +640,8 @@ nnoremap gb :G blame augroup fugitive_gstatus au! - autocmd BufWinEnter */.git/index resize 16 + autocmd User FugitiveIndex setlocal winfixheight + autocmd User FugitiveIndex nmap = augroup end " Gundo {{{2 @@ -691,6 +718,7 @@ let g:tagbar_iconchars = ['+', '-'] " tcomments {{{2 let g:tcomment_textobject_inlinecomment = 'gic' let g:tcomment#filetype#guess = 0 +"let g:tcomment#options = {'whitespace' : 'no'} " ultisnips {{{2 let g:UltiSnipsEditSplit = 'vertical' @@ -748,7 +776,7 @@ if executable('ag') end nnoremap [unite]a :Unite grep:.:: nnoremap [unite]A :Unite grep:.:-w: -command! -nargs=+ Ag Unite -input= grep:.: +command! -nargs=+ Ag Unite grep:.:: " unite-file_rec {{{3 if executable('ag') @@ -799,6 +827,15 @@ let g:ycm_complete_in_comments = 1 let g:ycm_complete_in_strings = 1 let g:ycm_autoclose_preview_window_after_insertion = 0 +let g:ycm_language_server = + \ [ + \ { + \ 'name': 'haskell', + \ 'cmdline': [ 'haskell-language-server-wrapper', '--lsp' ], + \ 'filetypes': [ 'haskell', 'lhaskell' ] + \ }, + \ ] + " vim-easy-align {{{2 " start interactive EasyAlign in visual mode vmap (EasyAlign)