X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/49161119f717177e336d581540b739bfa97c8a31..217ecdcf208fb4e4b94c3dcc25c57baf6b66e83e:/vim/vimrc diff --git a/vim/vimrc b/vim/vimrc index 82617e8..245fbf1 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -62,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' @@ -76,8 +90,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' @@ -92,10 +104,21 @@ 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' +Plug 'mtth/scratch.vim' " {{{2 + let g:scratch_no_mappings = 1 + let g:scratch_autohide = 0 +"}}} + +Plug 'vim-utils/vim-man' " {{{2 +let g:man_width = 80 +"}}} + call plug#end() filetype plugin indent on @@ -103,11 +126,12 @@ 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 +let &t_8f = "\[38;2;%lu;%lu;%lum" +let &t_8b = "\[48;2;%lu;%lu;%lum" +set termguicolors +colorscheme $THEME +"TODO see how I can integrate this into a theme that customises upstream Nord +hi debugPC term=reverse ctermbg=8 " options {{{1 " moving around, searching and patterns {{{2 @@ -137,8 +161,9 @@ set listchars+=extends:❯,precedes:❮ set listchars+=trail:· augroup trailing au! - au InsertEnter * :set listchars-=trail:· - au InsertLeave * :set listchars+=trail:· + au FileType qf setlocal listchars-=trail:· + au InsertEnter * set listchars-=trail:· + au InsertLeave * set listchars+=trail:· augroup END set scrolloff=5 " number of screen lines to show around the cursor @@ -240,6 +265,8 @@ set viewoptions+=folds " save folds set diffopt+=filler " show filler lines set diffopt+=vertical " always vertical split set diffopt+=context:10 " 10 lines context between changes +set diffopt+=internal +set diffopt+=algorithm:patience " reading and writing files {{{2 set modeline " read modelines @@ -417,7 +444,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! @@ -539,6 +570,7 @@ nmap qq :echo "hi<" . synIDattr(synID(line("."),col("."),1),"na " airline {{{2 let g:airline#extensions#whitespace#enabled = 1 let g:airline#extensions#tabline#enabled = 1 +let g:airline#extensions#searchcount#enabled = 0 let g:airline_powerline_fonts = 1 " checkattach {{{2 @@ -567,7 +599,16 @@ autocmd BufReadPost fugitive://* set bufhidden=delete nnoremap gs :Git nnoremap gd :Gdiffsplit -nnoremap gc :tab G commit -v +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 :Git push \| copen +nnoremap gpf :Git push --force-with-lease \| copen +nnoremap gll :Git pull +nnoremap gru :Git rebase --interactive @{upstream} +nnoremap grp :Git rebase --interactive @{push} nnoremap ga :Gwrite nnoremap gb :G blame @@ -578,6 +619,7 @@ augroup end " Gundo {{{2 nnoremap :GundoToggle +let g:gundo_prefer_python3 = 1 " indent-guides {{{2 let g:indent_guides_default_mapping = 0 @@ -706,7 +748,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') @@ -757,6 +799,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)