X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/cd624c1910a8f2d0b48df74b289712ae37eaf246..3991dadf193d95de6b38dab4b9ae60972f9e7ce6:/vim/vimrc diff --git a/vim/vimrc b/vim/vimrc index 2f0a7ca..d94c7c2 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -1,6 +1,9 @@ " force python3 if has('python3') | endif +" space is leader +let g:mapleader = " " + " runtimepath {{{1 set runtimepath ^=$XDG_CONFIG_HOME/vim set runtimepath +=$XDG_CONFIG_HOME/vim/after @@ -67,7 +70,28 @@ 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 --clangd-completer --clang-completer' } +if !has("nvim") + " Plug 'valloric/youcompleteme' {{{2 + Plug 'valloric/youcompleteme', + \{ 'do': './install.py --clangd-completer --clang-completer' } + 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 + 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' ] + \ }, + \ ] + " }}} +endif Plug 'vim-scripts/mediawiki.vim' Plug 'vim-scripts/replacewithregister' Plug 'vim-scripts/yankring.vim' @@ -244,6 +268,7 @@ set shortmess+=T " truncate other messages in the middle set shortmess+=W " don't give 'written' or '[w]' when writing a file set shortmess+=A " ignore swapfile warning set shortmess+=I " no splash screen +set shortmess+=c " don't give |ins-completion-menu| messages " editing text {{{2 set backspace=indent,eol,start " allow backspacing over everything in insert mode @@ -261,6 +286,7 @@ set formatoptions+=t " Auto-wrap text using textwidth set formatoptions-=o " Do not insert comment leader after hitting o or O in normal mode set nrformats-=octal " don't inc/dec octal numbers with ^[AX] +set nrformats+=unsigned " treat all numbers as unsigned set complete=. " scan the current buffer ( 'wrapscan' is ignored) set complete+=w " scan buffers from other windows @@ -312,6 +338,7 @@ set backupskip+=.netrc " skip netrc set backupskip+=/dev/shm/pass* " skip passwordstore files set undofile " persistent undo history +set undolevels=10000 " moar undos if !has('nvim') set undodir=$XDG_CACHE_HOME/vim/undo// endif @@ -349,6 +376,7 @@ set wildignore+=*.orig " Merge resolution files " running make and jumping to errors {{{2 set makeprg=make\ -w " print changing directories +set grepformat=%f:%l:%c:%m set grepprg=ag\ --vimgrep\ $* " language specific {{{2 @@ -373,9 +401,9 @@ set sessionoptions+=unix,slash " damn windows and it's silly ways " autocmds {{{1 " Resize splits when the window is resized {{{2 -augroup resize +augroup resize_splits au! - autocmd VimResized * :wincmd = + autocmd VimResized * :tabdo wincmd = augroup END " Only show cursorline in the current window and in normal mode {{{2 @@ -392,7 +420,7 @@ augroup ft_stdin augroup END " Jump to last known cursor position {{{2 -augroup cursor_pos +augroup last_loc au! " blacklist certain filetype let blacklist = ['gitcommit'] @@ -422,9 +450,6 @@ command! ToggleAutoChecktime let b:autochecktime=!get(b:, 'autochecktime', 0) | " bindings {{{1 -" allow both and \ to be -map - " make function! MakeWithOpt() " TODO only do this if makeprg matches make @@ -842,24 +867,6 @@ function! YRRunAfterMaps() nnoremap Y :YRYankCount 'y$' endfunction -" youcompleteme {{{2 -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 -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 :echohl WarningMsg \| echo "EasyAlign mapped to a now" \| echohl None